ListBox.itemindex sorunu :(

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

ListBox.itemindex sorunu :(

Mesaj gönderen notname »

selamun aleykum

şimdi arkadaşlar ben client/server bir uygulama yapıyorum

internet cafem için akınsoft gibi kendi çabımda küçük bir programcık yapıorum tabi bana özel :)

şu an programım sorunsuz şekilde çalışıyor hiç bir sorun yok ama ben biraz daha bırkalayım dedim bide benim onlara bağlanacagıma onların bana bağlanması içindde küçük bir kod yazdım ama bir türlü aşamadğım sorun çıktı


kodum şu şekil

Kod: Tümünü seç

   if ConnectionsListBox.itemindex <> -1 then
  begin
    if ServerSocket1.Active then
    try
      ConnectionID := ConnectionsListBox.Itemindex;
      ServerSocket1.Socket.Connections[ConnectionID].SendText(FormatFloat('00#',COMMAND) + Args);
      except
      end
   else
   LogMemo.Lines.add('bağlntı yok...');
bu kod çalışıyor onların bana bağlandığı zaman listbox'da makina isimlerini gorebiliyorum listbox'da makinanın üstüne tıkladıgım zaman komut gonderip alabiliyorum

ama sorun budur ki normal olarak bağlanamıyorum bu sefer illaki listbox'da makinanın ustune basmam gerekiyo

ben istiyorum ki hem normal bağlan butonu ile bağlanayım hemde listbox'daki makina ismine tıkladığım zaman bağlanabileyim şu şekil bi kod denedim gene olmadı

Kod: Tümünü seç

  if ConnectionsListBox.itemindex <> -1 then
  begin
    if ServerSocket1.Active then
begin
 if ClientMain.Active then
    try
      ConnectionID := ConnectionsListBox.Itemindex;
      ServerSocket1.Socket.Connections[ConnectionID].SendText(FormatFloat('00#',COMMAND) + Args);
 ClientMain.Socket.SendText(FormatFloat('00#',COMMAND) + Args);
      PutStatus(strStatus);
      except
      end
   else
   LogMemo.Lines.add('yok abi bağlantı...');
  PutStatus('Bağlantı Yok...');
end;
kısaca demek gerekirse listbox'a tıkladıgım zaman listbox'dali aktif olsun normal ip adresi yazıp bağlan dediğim zaman bağlantı kurabilsin
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

yokmu boyle bir sorunlar karsılasan arkadaşlar

yoksa sorun deil bi sorum daha olucak :)


arkadaşlar ben projemde bazen error hatası alıyorum mesela winxp'de çalışan program win98'de hata veriyor mesela oncreate olayında regedit'e girdigim bazı bolumler var ama sadece winxp'de boyle bi deger var 98'de yok programı acarken 98'de hata veriyo regedit'den belirten isim bulunamadı diye


bunları duzeltmenin yolu varmıdır yada proje'de errorcode ile ilgili bir yol varmıdır yani ne olursa olsun program hata vermicek ama hata vermesi gerekn yer'de çalışmıcak program hatasız olarak çalışıcak şekilde bi yontem varmıdır.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

merhaba

ikinci sorun için;
şöyle yaparsan çözülmüş olur.

try
////kodlar

except
//buraya msj verdirmeyeceksen bişey yamaya gerek yok
end;
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

merhaba arkadaşım anlatmak istedigim buydu

Kod: Tümünü seç

Reg1:=TRegistry.Create;
Reg1.RootKey:=HKEY_LOCAL_MACHINE;
Reg1.OpenKey('SYSTEM\CurrentControlSet\deneme,False);
Reg1.WriteInteger('Start',00000004);
Reg1.CloseKey;
Reg1.Free;
şu şekil formumun oncreate olayında regedit'e yazan bir kodum var ama bu ornek sadece xp'de oluyor 98'de ise (deneme) bulunamadı diyor

işte bunu istiyorum hata vermesin 98'de ama regedit'teki (deneme) diye olan bölümede bişey yazmasın

bilmem anlatabildimmi
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

notname yazdı:merhaba arkadaşım anlatmak istedigim buydu

Kod: Tümünü seç

Reg1:=TRegistry.Create;
Reg1.RootKey:=HKEY_LOCAL_MACHINE;
Reg1.OpenKey('SYSTEM\CurrentControlSet\deneme,False);
Reg1.WriteInteger('Start',00000004);
Reg1.CloseKey;
Reg1.Free;
şu şekil formumun oncreate olayında regedit'e yazan bir kodum var ama bu ornek sadece xp'de oluyor 98'de ise (deneme) bulunamadı diyor

işte bunu istiyorum hata vermesin 98'de ama regedit'teki (deneme) diye olan bölümede bişey yazmasın

bilmem anlatabildimmi
Merhaba
Şunu yazarsanız olacak

Kod: Tümünü seç

try
Reg1:=TRegistry.Create;
Reg1.RootKey:=HKEY_LOCAL_MACHINE;
Reg1.OpenKey('SYSTEM\CurrentControlSet\deneme,False);
Reg1.WriteInteger('Start',00000004);
Reg1.CloseKey;
Reg1.Free;
except
end;
kolay gelsin
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
openkey komutundaki false parametresini true yapmayı denedinizmi.
openkey parametresinde true verirseniz eğer key yoksa oluşturur. (yani ilk kullanımda true olması lazımki keyi oluştursun.) false sadece açar.
genelde kullanım şöyle olması lazım kanaatindeyim.

Kod: Tümünü seç

if not reg.openkey('falanfilan',false) then
  reg.openkey('falanfilan',true)
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

teşşekkürler arkadaşlar

Kod: Tümünü seç

try
bilmemne
except
end;
yukardaki code ile sorunumu cozdum.
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

tekrar selam arkadaşlar

aklıma bişey takıldı olurmu diye düşündüm ama bi açıklama'da bulamadım acıkcası


mesela formu kaydırma cubuklarından sağa cekerek genişletiyoruz istersek daraltabiliyoruz.

bunu kod ile yapmak mumkunmu bi button koyucaz ve butona basınca belirli bir yere kadar genişlicek kapat butonuna basınca'da eski haline geri donecek mesela boyle bişey yapılırmı mumkunmudur ?
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Tabii ki yapılabilir. Mümkündür.
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

peki bunun bir ornek kod vs bişeyi varmıdır aratsam ne diye aratıcamm ? ornek bulmam için
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Button 'un OnClick olayına

Kod: Tümünü seç

Form1.Width:= Form1.Width + 100 // Buradaki 100 sayısı ne kadar genişleteceksen o kadar olacak
Kapatma butonunun onclick olayına:

Kod: Tümünü seç

Form1.Width:= Form1.Width - 100 // Buradaki 100 sayısı ne kadar genişletmişsen o kadar olacak
Bu sayede düğmeye tıklayınca form genişleyecek, diğerine tıklayınca eski haline gelecek.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

hatta bunu bir döngü içerisine alırsan güzel bir görüntü olur..

Kod: Tümünü seç

for x := 1 to 100 do
begin
  Form1.Width:= Form1.Width + x;
  Sleep(20); // sleep içindeki değer ile oynayarak hareket hızını değiştirebilirsin
end;
DeveloperToolKit

..::|YeşilMavi|::..
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

mukemmelsiniz arkadaşlar cok saolun tam istedigim gibi oldu

bu ara ogrendim demekki oluyomus :)
notname
Üye
Mesajlar: 149
Kayıt: 11 Şub 2005 02:15

Mesaj gönderen notname »

beyler bir sorun daha çıktı :)

umarım kusruma bakmassınız


client/server uygulamalarda basit bir şifreleme ornegi sizde mevcutmudur.
mesela server'i şifrelicez client bağlandıgı zaman şifreyi isticek dogruysa giricek yanlışsa girmicek

trojan mantıgı gibi

bu ara ben duz socket'ler kullanıyorum delphi ile birlikt gelen indy kullanmıyorum.

cevab veren olursa sevinirim saygılar
Cevapla