Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
Haa anladım sanırım .
Type Tikili= record
biri, digeri : tBilgiArray;
End;
Var
Likili : Tikili;
Begin
SetLength( Likili.Biri, 2 );
SetLength( Likili.Digeri, 3 );
Likili.Biri[0].strValue := 'abc';
...
...
...
Likili.Digeri[0].intValue := 123;
Saygılarımla
Muharrem ARMAN
Yorumları: 683
Konuları: 75
Kayıt Tarihi: 24-01-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 926 Acemi
30-09-2022, Saat: 11:24
(Son Düzenleme: 30-09-2022, Saat: 11:42, Düzenleyen: Bay_Y.)
(29-09-2022, Saat: 17:23)mrmarman Adlı Kullanıcıdan Alıntı: Haa anladım sanırım .
Type Tikili= record
biri, digeri : tBilgiArray;
End;
Var
Likili : Tikili;
Begin
SetLength( Likili.Biri, 2 );
SetLength( Likili.Digeri, 3 );
Likili.Biri[0].strValue := 'abc';
...
...
...
Likili.Digeri[0].intValue := 123;
Öncelike çok teşekkür ediyorum cevap için  çok yakın .
Ama sanırım böyle de olur .. daha çok değer verirken array de olduğu gibi
Likili.Digeri[0,0].intValue := 'Ali';
Likili.Digeri[0,1].intValue := 10;
Likili.Digeri[1,0].intValue := 'Ahmet' ;
Likili.Digeri[1,1].intValue := 20;
gibi bişi lazım. Aslında tam olarak record mu kullanmam gerekiyor onu da bilmiyorum ama sanırım hızlı olması ve anlaşılır olabilmesi için o daha kolay geldi.
Yukarıdaki gibi bir satış yapıldığında kampanya listesinden kontrol edip kampanyaya dahil olan ürünleri müşteriye sunmak istiyorum.
1.Sorun her bir ürün satıldığında bu işin yapılıyor olması ve birden fazla kampanyanın denk gelebilecek olması ,
2.Sorun öncelikle sadece satılan ürünü kampanya listesinde aratıp kontrol ediyordum ama bu durumda daha önce satılan ürünlerden birinin de yeni satılan ürünle kampanyaya dahil olma ihtimali var o yüzden bu işlemleri hızlı bir şekilde database ile uğraşmadan ( çok hızlı olmayacağını düşündüğümden) kontrol edip müşteriye sunmam lazım ,
3.sorun ise diyelim ki müşteri önceki kampanyadan yararlandı ve sonradan ürün ilave edince daha güzel bir kampanya denk geldi , bu durumda yeni kampanyayı sunmak gerekmez mi ?
bu işlemler ile ilgili nasıl bir yol izlenmeli bu konu hakkında fikri olan paylaşmak isteyen arkadaşlar paylaşabilirse çok sevinirim.
herkese şimdiden çok teşekkür ediyorum.
Yorumları: 10
Konuları: 0
Kayıt Tarihi: 04-08-2022
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 131 Başlangıç
(09-01-2021, Saat: 16:23)mrmarman Adlı Kullanıcıdan Alıntı: Một ví dụ cơ bản sẽ thực hiện thủ thuật.
[ars = delphi]
Loại
tInformation = Bản ghi
strField: string;
intField: số nguyên;
dblField: gấp đôi;
chấm dứt;
tInfoArray = Mảng tInfo;
function RandomDataOcurs (InfoNumber: Integer): tInfoArray;
var
i: Số nguyên;
bắt đầu
Ngẫu nhiên hóa;
SetLength (Kết quả, BilgiSay);
for i: = 0 to BilgiSay-1 do begin
Kết quả [i] .dblField: = Random (100) + 1;
Result [i] .intField: = Trunc (Kết quả [i] .dblField);
Kết quả [i] .strField: = IntToStr (Kết quả [i] .intField);
chấm dứt;
chấm dứt;
[/ ars]
Cú pháp:
[ars = delphi]
thủ tục TForm1.Button1Click (Người gửi: TObject);
var
Kết quả: tBilgiArray;
i: Số nguyên;
begin
Kết quả: = RandomData Xảy ra (10);
for i: = Thấp (Kết quả) đến Cao (Kết quả) do
ShowmessageFmt ('% s -% d -% f', [Kết quả [i] .strField, Kết quả [i] .intField, Kết quả [i] .dblField]) ;
chấm dứt;
[/ ars]
Ony täzeden gurmaga synanyşdym, ýöne ýalňyşlyk aldym: TJSONArray 73-nji setirde 'Format' atly agzany öz içine almaýar. TForm1-de 'FormCreate' we 'FormClose' atly agza ýok. Bu ýalňyşlygy nädip çözmeli?
Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
03-10-2022, Saat: 20:50
(Son Düzenleme: 04-10-2022, Saat: 07:32, Düzenleyen: mrmarman.)
Şöyle yapalım.
Bu GoogleDrive linkine proje halinde kopyaladım. Buradan indirip sizdeki delphi ile derleyip çalıştırın.
Düşüncem, noktalama hatası yapmış olabileceğiniz şeklinde. Format fonksiyonu SYSUTILS uniti içinde bir fonksiyondur. Örnekteki unit içindeki USES satırında SYSUTILS uniti de mevcuttur.
Görevi, string ifadeleri belirli bir şekilde düzenlemek için kullanılır. JSON üyesi sanıyor olması virgül, tırnak ve bunun benzeri bir kural hatası yapmış olduğunuzu gösteriyor.
(03-10-2022, Saat: 19:16)Master_Crazy Adlı Kullanıcıdan Alıntı: (09-01-2021, Saat: 16:23)mrmarman Adlı Kullanıcıdan Alıntı: Một ví dụ cơ bản sẽ thực hiện thủ thuật.
[ars = delphi]
Loại
tInformation = Bản ghi
strField: string;
intField: số nguyên;
dblField: gấp đôi;
chấm dứt;
tInfoArray = Mảng tInfo;
function RandomDataOcurs (InfoNumber: Integer): tInfoArray;
var
i: Số nguyên;
bắt đầu
Ngẫu nhiên hóa;
SetLength (Kết quả, BilgiSay);
for i: = 0 to BilgiSay-1 do begin
Kết quả [i] .dblField: = Random (100) + 1;
Result [i] .intField: = Trunc (Kết quả [i] .dblField);
Kết quả [i] .strField: = IntToStr (Kết quả [i] .intField);
chấm dứt;
chấm dứt;
[/ ars]
Cú pháp:
[ars = delphi]
thủ tục TForm1.Button1Click (Người gửi: TObject);
var
Kết quả: tBilgiArray;
i: Số nguyên;
begin
Kết quả: = RandomData Xảy ra (10);
for i: = Thấp (Kết quả) đến Cao (Kết quả) do
ShowmessageFmt ('% s -% d -% f', [Kết quả [i] .strField, Kết quả [i] .intField, Kết quả [i] .dblField]) ;
chấm dứt;
[/ ars]
Ony täzeden gurmaga synanyşdym, ýöne ýalňyşlyk aldym: TJSONArray 73-nji setirde 'Format' atly agzany öz içine almaýar. TForm1-de 'FormCreate' we 'FormClose' atly agza ýok. Bu ýalňyşlygy nädip çözmeli?
Saygılarımla
Muharrem ARMAN
Yorumları: 10
Konuları: 0
Kayıt Tarihi: 04-08-2022
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 131 Başlangıç
04-10-2022, Saat: 07:34
(Son Düzenleme: 04-10-2022, Saat: 07:35, Düzenleyen: Master_Crazy.)
Kapsamlı rehberlik için teşekkürler. Projenizi indirdim ve derledim. Hata hala görünüyor. Aptal IDE? Farklı revizyonlar için bir düzeltme var mı?
Yorumları: 1.898
Konuları: 22
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 21.184 Üstad
04-10-2022, Saat: 08:08
(Son Düzenleme: 04-10-2022, Saat: 08:35, Düzenleyen: mrmarman.)
Kullanmakta olduğunuz Delphi versiyon nedir?
Eğer Delphi 2010 ve daha eski sürümüyse uses kısmındaki noktayla ayrılmış unit isimlerinde vcl.XXX system.XXX benzeri ön takıları (nokta ve öncesi) silmek isteyebilirsiniz. Bu tanımlama şekli yeni Delphi sürümleri ile hayata geçti.
Aklıma Lazarus kullanma ihtimaliniz de geliyor. Bu durumda bu unitler de farklılaşır.
Format function olan yerleri direkt string ifade ile değiştirin.
aJSONObject.AddPair( 'intAlan', Format( '%d', [ FBilgiarray[i].intAlan ] ) );
aJSONObject.AddPair( 'dblAlan', Format( '%f', [ FBilgiarray[i].dblAlan ] ) );
Yerine
aJSONObject.AddPair( 'intAlan', IntToStr(FBilgiarray[i].intAlan) );
aJSONObject.AddPair( 'dblAlan', FloatToStr( FBilgiarray[i].dblAlan) );
Saygılarımla
Muharrem ARMAN
Yorumları: 10
Konuları: 0
Kayıt Tarihi: 04-08-2022
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 131 Başlangıç
(04-10-2022, Saat: 08:08)mrmarman Adlı Kullanıcıdan Alıntı: Kullanmakta olduğunuz Delphi versiyon nedir?
Eğer Delphi 2010 ve daha eski sürümüyse uses kısmındaki noktayla ayrılmış unit isimlerinde vcl.XXX system.XXX benzeri ön takıları (nokta ve öncesi) silmek isteyebilirsiniz. Bu tanımlama şekli yeni Delphi sürümleri ile hayata geçti.
Aklıma Lazarus kullanma ihtimaliniz de geliyor. Bu durumda bu unitler de farklılaşır.
Format function olan yerleri direkt string ifade ile değiştirin.
aJSONObject.AddPair( 'intAlan', Format( '%d', [ FBilgiarray[i].intAlan ] ) );
aJSONObject.AddPair( 'dblAlan', Format( '%f', [ FBilgiarray[i].dblAlan ] ) );
Yerine
aJSONObject.AddPair( 'intAlan', IntToStr(FBilgiarray[i].intAlan) );
aJSONObject.AddPair( 'dblAlan', FloatToStr( FBilgiarray[i].dblAlan) );
Delphi 10.2 / Satırda derleme hatası: 'TJSONArray' satırında 'Format' adlı bir üye içermiyor
Yorumları: 238
Konuları: 6
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.914 Programcı
(06-10-2022, Saat: 05:50)Master_Crazy Adlı Kullanıcıdan Alıntı: (04-10-2022, Saat: 08:08)mrmarman Adlı Kullanıcıdan Alıntı: Kullanmakta olduğunuz Delphi versiyon nedir?
Eğer Delphi 2010 ve daha eski sürümüyse uses kısmındaki noktayla ayrılmış unit isimlerinde vcl.XXX system.XXX benzeri ön takıları (nokta ve öncesi) silmek isteyebilirsiniz. Bu tanımlama şekli yeni Delphi sürümleri ile hayata geçti.
Aklıma Lazarus kullanma ihtimaliniz de geliyor. Bu durumda bu unitler de farklılaşır.
Format function olan yerleri direkt string ifade ile değiştirin.
aJSONObject.AddPair( 'intAlan', Format( '%d', [ FBilgiarray[i].intAlan ] ) );
aJSONObject.AddPair( 'dblAlan', Format( '%f', [ FBilgiarray[i].dblAlan ] ) );
Yerine
aJSONObject.AddPair( 'intAlan', IntToStr(FBilgiarray[i].intAlan) );
aJSONObject.AddPair( 'dblAlan', FloatToStr( FBilgiarray[i].dblAlan) );
Delphi 10.2 / Satırda derleme hatası: 'TJSONArray' satırında 'Format' adlı bir üye içermiyor
Format() fonksiyonu, SysUtils unit'indedir. Eğer Uses kısmına eklemediyseniz hata verir.
Yorumları: 10
Konuları: 0
Kayıt Tarihi: 04-08-2022
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 131 Başlangıç
(07-10-2022, Saat: 18:55)mustafaozpinar Adlı Kullanıcıdan Alıntı: (06-10-2022, Saat: 05:50)Master_Crazy Adlı Kullanıcıdan Alıntı: Delphi 10.2 / Satırda derleme hatası: 'TJSONArray' satırında 'Format' adlı bir üye içermiyor
Format() fonksiyonu, SysUtils unit'indedir. Eğer Uses kısmına eklemediyseniz hata verir.
Unit BilgilerU'da unit tanımlandı fakat yine de bahsedildiği gibi hata veriyor;
Yorumları: 238
Konuları: 6
Kayıt Tarihi: 22-10-2018
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.2
- Delphi 10.1
- Delphi 7
- Lazarus / FPC
Rep Puanı: 1.914 Programcı
Format fonksiyonu D10.4'te System.SysUtils unit'inin içinde.
|