Delphi Can

Orjinalini görmek için tıklayınız: Color To String İşlemi ?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
iyi günler,

ComboColorBox kullanarak renk seçimleri yapıyorum fakat bunu herhangi bir string'e/Memo bileşenine aktarıp kaydetmekte zorluk çektim bir de bunun geri çağrılma olayı var tabi.
baya bir bakındım edindim ama elle tutulur bir şey/kod örneği bulamadım.

Seçilen rengi kaydedip geri çağırma işlemini nasıl yapabilirim ?
Merhaba,
Renk özelliği TAlphaColor tipindedir. Bu tip System.IUTypes kütüphanesinde Cardinal olarak yeniden isimlendirilmiştir (Aliased type). 

[attachment=555]
(09-04-2019, Saat: 15:26)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba,
Renk özelliği TAlphaColor tipindedir. Bu tip System.IUTypes kütüphanesinde Cardinal olarak yeniden isimlendirilmiştir (Aliased type). 

Daha önce denemeler yaparken bu değerlere anlam verememiştim şimdi daha iyi anlıyorum

Hocam peki tekrar cardinal'a nasıl çevirebiliriz ? Yani txt dosyasına kaydedip çağırdıktan sonra.

Yoruyorum ama affola Shy
(09-04-2019, Saat: 16:00)Mr.Developer Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 15:26)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba,
Renk özelliği TAlphaColor tipindedir. Bu tip System.IUTypes kütüphanesinde Cardinal olarak yeniden isimlendirilmiştir (Aliased type). 

Daha önce denemeler yaparken bu değerlere anlam verememiştim şimdi daha iyi anlıyorum

Hocam peki tekrar cardinal'a nasıl çevirebiliriz ?

Yoruyorum ama affola Shy

Yukarıda @"Fesih ARSLAN" 'ın paylaştığı koda baksanız  Angry
(09-04-2019, Saat: 16:03)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 16:00)Mr.Developer Adlı Kullanıcıdan Alıntı: [ -> ]Daha önce denemeler yaparken bu değerlere anlam verememiştim şimdi daha iyi anlıyorum

Hocam peki tekrar cardinal'a nasıl çevirebiliriz ?

Yoruyorum ama affola Shy

Yukarıda @"Fesih ARSLAN" 'ın paylaştığı koda baksanız  Angry

Eksik yazmıştım düzelttim hocam sizde tekrar okur musunuz ?
Txt dosyasından geri çağırdımdaki dönüşümden bahsediyorum. yani uygulamanın açılışındaki durumdan.
(09-04-2019, Saat: 16:05)Mr.Developer Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 16:03)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Yukarıda @"Fesih ARSLAN" 'ın paylaştığı koda baksanız  Angry

Eksik yazmıştım düzelttim hocam sizde tekrar okur musunuz ?
Txt dosyasından geri çağırdımdaki dönüşümden bahsediyorum. yani uygulamanın açılışındaki durumdan.

@SimaWB kızmakta haklı.
Son satırda Cardinal değer doğrudan Color özelliğine atanmıştır.
Renk, örneğimizde bir değişken değer üzerinde saklanmış ve kullanılmıştır. 
Siz bu değeri ister veri tabanında ister lokaldeki herhangi bir dosyada saklayıp, daha sonra alıp kullanabilirsiniz.
Yani TAlphaColor tip dönüşümüne ihtiyaç duymadan doğrudan Cardinal bir değer alabilir.
(09-04-2019, Saat: 16:17)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: [ -> ]
(09-04-2019, Saat: 16:05)Mr.Developer Adlı Kullanıcıdan Alıntı: [ -> ]Eksik yazmıştım düzelttim hocam sizde tekrar okur musunuz ?
Txt dosyasından geri çağırdımdaki dönüşümden bahsediyorum. yani uygulamanın açılışındaki durumdan.

@SimaWB kızmakta haklı.
Son satırda Cardinal değer doğrudan Color özelliğine atanmıştır.
Renk, örneğimizde bir değişken değer üzerinde saklanmış ve kullanılmıştır. 
Siz bu değeri ister veri tabanında ister lokaldeki herhangi bir dosyada saklayıp, daha sonra alıp kullanabilirsiniz.
Yani TAlphaColor tip dönüşümüne ihtiyaç duymadan doğrudan Cardinal bir değer alabilir.

Sanırım anlatamadım ya da hala anlayamıyorum ;

if FileExists(TPath.Combine(TPath.GetDocumentsPath,'renk1.txt')) then
begin
renklermemo.Lines.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath,'renk1.txt'));

form1.Fill.Color := renklermemo.Text ;

burda da son satırda bir dönüşüm yapmam gerekmiyor mu ?
ki bu şekilde iken ;
 E2010 Incompatible types: 'TAlphaColor' and 'string'

hatası alıyorum.

Umarım anlaşılır olmuştur.
StringToAlphaColor fonksiyonunu denermisiniz.
(09-04-2019, Saat: 16:33)boreas Adlı Kullanıcıdan Alıntı: [ -> ]StringToAlphaColor fonksiyonunu denermisiniz.

Evet demek istediğim tamda buydu çok teşekkür ediyorum hocam.
kütüphanesini eklemeyi gözardı ettiğim  için çıkmıyormuş.

Test ettim olumlu sonuç.

tekrardan çok teşekkür ederim başta fesih hocama ve sizlere.
Belki bir fikir olabilir.


function ColorList(Rengk: String): String;
begin
  if Rengk = 'Kırmızı' then
  begin
    Result := '$FF8B0000';
  end;
  if Rengk = 'Beyaz' then
  begin
    Result := '$FFF8F8FF';
  end;
  if Rengk = 'Yeşil' then
  begin
    Result := '$FF006400';
  end;
  if Rengk = 'Mavi' then
  begin
    Result := '$FF000080';
  end;
  if Rengk = 'Sarı' then
  begin
    Result := '$FFFFFF00';
  end;
  if Rengk = 'Gri' then
  begin
    Result := '$FF696969';
  end;
  if Rengk = 'Turuncu' then
  begin
    Result := '$FFFF4500';
  end;
  if Rengk = 'Mor' then
  begin
    Result := '$FF9932CC';
  end;
  if Rengk = 'Teal' then
  begin
    Result := '$FF008080';
  end;
  if Rengk = 'Fuchsia' then
  begin
    Result := '$FFFF00FF';
  end;
end;

procedure TForm1.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem);
var
Color: Integer;
begin
  Color := StrToInt(ColorList(AItem.Data['Color'].AsString)); // Color
  TListItemText(AItem.Objects.FindDrawable('Name')).TextColor := Color;
end;
Sayfalar: 1 2