nbtstat -n

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

zaten denedikten sonra bu mesajı yazdım.

butonun onclick olayına yazdım ama dirla.txt dosyasının içeriği hala boş...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

kodu düzelttim, komutun yazılışında sehven c:\ konmuş başa. Komut command diye başlaması lazım.

Kolay gelsin.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

düzelttiğiniz koda ulaşamadım. rica etsem kodun çalışır halini yazar mısınız?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

P206 yazdı:Arama yaparak bu konuyla ilgili sonuçlara ulaşabilirsin.

viewtopic.php?t=3748&highlight=createprocess
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

arama yaptım ama kodlar tam çalışmıyor. şöyle ki:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
StartupInfo : TStartupInfo;
ProcessInformation : TProcessInformation;
begin
        FillChar(StartupInfo, sizeOf(TStartupInfo), #0);
        FillChar(ProcessInformation, sizeOf(TProcessInformation), #0);
        StartupInfo.cb:=sizeof(Tstartupinfo);
        StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
        StartupInfo.wShowWindow:=SW_hide;
        CreateProcess(nil, PChar('command.com /c net session > c:\baglan.txt '),
        nil, nil, False, 0, nil, nil,
        StartupInfo, ProcessInformation);
        memo1.Lines.LoadFromFile('c:\baglan.txt');
end;
kodunu yazdım. programı çalıştırıp butona 1 kere tıklayınca memo1 boş, ancak 2. kez tıkladığımda .txt dosyasının içeriğini memo'da görebiliyorum. bu işlemi 1 kez tıklamayla neden yapamıyorum? nasıl yapabilirim?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

komut tam çalışmasını bitirmeden almaya çalışıyor olabilirsin. Memo1... satırının üstüne, Sleep(2000) komutunu ekle. Bu 2 sn bekler.

Kolay gelsin.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

sorumla ilgili ulaştığım sonucu yazıyorum.

istediğim şeyi aşağıdaki kodu yazarak elde ettim.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
StartupInfo : TStartupInfo;
ProcessInformation : TProcessInformation;
begin
        FillChar(StartupInfo, sizeOf(TStartupInfo), #0);
        FillChar(ProcessInformation, sizeOf(TProcessInformation), #0);
        StartupInfo.cb:=sizeof(Tstartupinfo);
        StartupInfo.dwFlags:=STARTF_USESHOWWINDOW;
        StartupInfo.wShowWindow:=SW_hide;
        CreateProcess(nil, PChar('command.com /c net session > c:\baglan.txt '),
        nil, nil, False, 0, nil, nil,
        StartupInfo, ProcessInformation);
        sleep(1000);
        memo1.Lines.LoadFromFile('c:\baglan.txt');
end;
karşılaştığım başka sorun olursa yazarım. siteyi hayata geçirenlere ve yardımlarınızdan dolayı herkese çok teşekkür ederim. Allah razı olsun.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bu mutlu sonlara bayılıyorum :D

yardımcı olabildiysek ne mutlu bize.

Kolay gelsin.
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar
Orada Sleep komutu yerine

Kod: Tümünü seç

WaitForSingleObject (ProcessInformation.hProcess,infinite);
Dersen program işlemi bitene kadar bekleyip sonra alta geçecektir.

Yani Kodu şu şekilde yaparsan daha garanti çalışır.Belki sana 2 Sn. yetmeyebilir. INFINITE (sonsuz) yerine Milisaniye cinsinden de verebilirsin. Ben şubeler arası Frame-relay hatlarını pinglemek için bu şekilde kullanmıştım.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); 
var 
StartupInfo : TStartupInfo; 
ProcessInformation : TProcessInformation; 
begin 
        FillChar(StartupInfo, sizeOf(TStartupInfo), #0); 
        FillChar(ProcessInformation, sizeOf(TProcessInformation), #0); 
        StartupInfo.cb:=sizeof(Tstartupinfo); 
        StartupInfo.dwFlags:=STARTF_USESHOWWINDOW; 
        StartupInfo.wShowWindow:=SW_hide; 
        CreateProcess(nil, PChar('command.com /c net session > c:\baglan.txt '), 
        nil, nil, False, 0, nil, nil, 
        StartupInfo, ProcessInformation); 
        WaitForSingleObject (ProcessInformation.hProcess,infinite);
        memo1.Lines.LoadFromFile('c:\baglan.txt'); 
end; 
Kolay Gelsin.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

p206 ek bilgin için teşekkürler.

ancak bir sorunum daha var. eğer herhangi bir bilgisayar bağlanmadıysa sorun yok, kimsenin bağlanmadığını gösteriyor. ama aksi durumda programı çalıştırdığımda şöyle bir hata alıyorum ve programı çalıştıramıyorum:

Kod: Tümünü seç

[Fatal Error] Could not create output file 'C:\ilknur\kontrol\net.exe'
yardımlarınızı bekliyorum. kolay gelsin....
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Yukarıdaki kodun aynısını Çalıştırdım. (İşletim sistemim XP Prof.) Bir sorun vermedi. Yalnız senin exe' nin ismi net.exe mi, eğer öyle ise windows sun net'i yerine o nu çalıştırır. Dediğim gibi bende bir sorun çıkmadı.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

program bir şekilde açıksa böyle hata alabilirsiniz.

* Program açıksa kapatın.
* Program açık değilse, Ctrl+Alt+Delete ile açılan menüden veya Task manager dan kapatmayı deneyin. Bir sorundan dolayı program tam kapatılamamış olabilir.

Kolay gelsin.
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

evet projeyi net ismiyle kaydettim. ancak save as net_1 deyip bunu çalıştırdım. nu sefer de net_1'i çalışıp her butona bastığımda net.exe'yi çalıştırıyor ancak sonuç yine olumsuz...
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Peki Dos Promptundan "net session > c:\baglan.txt" diye çalıştırınca
o zaman normal çalışıyor mu?
nilnur
Üye
Mesajlar: 60
Kayıt: 21 Tem 2004 05:06

Mesaj gönderen nilnur »

bağlantı olduğunda dos komut satırında yazdığım kod çalışıyor. ancak delphi'de yaptığım programı çalıştırınca hata veriyor ve dosyaya kayıt yapmıyor
Cevapla