Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
MakPRO
Üye
Mesajlar: 251 Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:
Mesaj
gönderen MakPRO » 26 May 2005 04:14
mrb.
aşağıdaki kodda bir comba box ın stringine ini filedan bilgi alabiliyorken kendi tanımladığım stringliste inifiledan bilgi aktarmak istediğimde farklı farklı hatalar alıyorum. yardım pls.
benimlisteme bilgiyi aktaramıyorum .
Kod: Tümünü seç
procedure DB_Param_Read;
var
MyIniFile: TIniFile;
Mine_DB:TDB_Info;
benimlistem:TStrings;
begin
MyIniFile := TIniFile.Create('C:\usr\MakPRO\dbxconnections.ini');
loginscr.firmname.Items.Clear;
// MyIniFile.ReadSections(loginscr.firmname.Items);
MyIniFile.ReadSections(benimlistem);
MyIniFile.Free;
end;
vkamadan
Kıdemli Üye
Mesajlar: 1935 Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:
Mesaj
gönderen vkamadan » 26 May 2005 05:12
merhaba;
TStrings yerine TStringList kullanırsan sorun kalmayacaktır.
çünkü TCombobox ın items i bir TStringList tir.
iyi çalışmalar.
MakPRO
Üye
Mesajlar: 251 Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:
Mesaj
gönderen MakPRO » 26 May 2005 05:39
TStringList te de aynı hataları veriyor. Ayrıca Combobox.items TStrings görünüyor. şöyleki
yapınca sorun yok aktarıyor . ama inifiledan aktarmayapınca hata veriyor.
Kod: Tümünü seç
MyIniFile.ReadSections(benimlistem);
bu kodda hata veriyor
gkimirti
Admin
Mesajlar: 1956 Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul
Mesaj
gönderen gkimirti » 26 May 2005 05:46
TStrings sınıfı bircok sınıf icin taban sınıf niteliginde
yalın hali ile kullanılamaz, eger bir bilesen gelistiriyor iseniz bilesene dahil edip ilk basta sadece tanım iceren (Add gibi) metodlarını ezerek kendi metodlarınızı yazarsınız.
Bunun yerine TStringListi gonulrahatlıgı ile kullanabilirsiniz.hicbir sorun cıkartmaz.Bir de hatayı yazarsanız ne olduguna dair tahmin yapmak zorunda kalmayız.
ÜŞENME ,ERTELEME ,VAZGEÇME
t-hex
Kıdemli Üye
Mesajlar: 531 Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:
Mesaj
gönderen t-hex » 26 May 2005 07:07
Merhaba,
Kod: Tümünü seç
procedure DB_Param_Read;
var
MyIniFile: TIniFile;
Mine_DB:TDB_Info;
benimlistem:TStrings;
begin
benimlistem := TStringlist.Create;
MyIniFile := TIniFile.Create('C:\usr\MakPRO\dbxconnections.ini');
loginscr.firmname.Items.Clear;
// MyIniFile.ReadSections(loginscr.firmname.Items);
MyIniFile.ReadSections(benimlistem);
MyIniFile.Free;
benimlistem.free;
end;
kodunuzu bu şekilde değiştirirseniz sorun çözülür. benimlistem objesi daha yaratılmadığı için hata alıyorsunuz.
hata vermiyor çünkü sadece pointer ataması yapılıyor.
MakPRO
Üye
Mesajlar: 251 Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:
Mesaj
gönderen MakPRO » 27 May 2005 08:30
en kısa zamanda kodu deniycem . pazartesi günü durum bilgisi veririm. ilginiz için teşekkürler
MakPRO
Üye
Mesajlar: 251 Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:
Mesaj
gönderen MakPRO » 01 Haz 2005 03:22
yardımcı olmaya çalışan tüm arkadaşlara teşekkür ederim t-hex 'in dediği gibi uygulandığı zaman oluyor. Ama benim bir sorum daha olacak sorun şu
Kod: Tümünü seç
Type
TUsers_Set = class
private
User_Pass : String [32];
public
User_Name : String [20];
User_Nick : String [30];
User_Tables : TStrings;
User_Rights : TStrings;
end;
burdaki tanımlamaya göre
Kod: Tümünü seç
var
Users : TUsers_Set;
Users := TUsers_Set.Create;
Users.Free;
fakat burdaki işlemleri yapınca User_Tables : TStrings;
User_Rights : TStrings;
bu değerleri yaratmıyor . bunları
Users := TUsers_Set.Create;
işlemi ile nasıl create ettirmem gerekiyor ?
t-hex
Kıdemli Üye
Mesajlar: 531 Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:
Mesaj
gönderen t-hex » 01 Haz 2005 03:47
Kod: Tümünü seç
Type
TUsers_Set = class
private
User_Pass : String [32];
public
User_Name : String [20];
User_Nick : String [30];
User_Tables : TStrings;
User_Rights : TStrings;
constructor Create;
destructor Destroy;
end;
constructor TUser_Set.Create;
begin
User_Tables := TStringList.Create;
User_Rights := TStringList.Create;
end;
destructor Destroy;
begin
User_Tables.Free;
User_Rights.Free;
end;
constructor ve destructor içine yazman lazım o kodları..
constructor obje oluşturulurken çalışır, destructor işe yok edilirken çalışır
gkimirti
Admin
Mesajlar: 1956 Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul
Mesaj
gönderen gkimirti » 01 Haz 2005 03:48
TUsers_Set sınıfına bir constructor ve destructor ekleyeceksin
public altına
Kod: Tümünü seç
constructor Create;
destructor Destroy;
gibi
Create icinde TStrings tipinde olanları Create, Destroy icinde de Free etmelisin.
ÜŞENME ,ERTELEME ,VAZGEÇME
MakPRO
Üye
Mesajlar: 251 Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:
Mesaj
gönderen MakPRO » 01 Haz 2005 04:02
hızır acil servis gibisiniz arkadaşlar teşekkür ederim hemen uyguluyorum