![]() |
Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
Memo Nesnesinin Bir Line'ındaki String'i Çekme |
Yanıt Yaz ![]() |
Yazar | |
haletr ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: Dün Konum: Konya Durum: Aktif Değil Puanlar: 6 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: 4 Saat 34 Dakika Önce Saat 14:21 |
Merhabalar şarkı eklenebilen ve silinebilen ayrıca eklenen şarkılar arasından random bir şekilde şarkı öneren bir uygulama yapmaya çalıştım. Şarkı ekleme silme gibi fonksiyonlar çalışırken random şarkı önerme fonksiyonu çalışmıyor. Sorun 29. satırda. Memo'nun rastgele bir Line'ındaki Stringi nasıl çekebilirim?
var Form1: TclForm; songEdit: TclProEdit; BtnAddSong,BtnSuggest,BtnDelete: TClProButton; lblName: TClProLabel; mainLayout: TclLayout; Memo1 : TclMemo; rand,len : Integer; rndSong: String; void addSong { Memo1.Lines.Add('●'+songEdit.Text); ShowMessage('Şarkı eklendi '); songEdit.Text= ''; } void deleteSong { Memo1.Lines.Delete(1); ShowMessage('Şarkı silindi '); } void randomSong { len= StrToInt((Memo1.Lines.Count-1)); rand = clMath.GenerateRandom(1,len); rndSong= Memo1.Lines[rand]; ShowMessage(rndSong); } { Form1 = TclForm.Create(Self); Form1.SetFormColor('#4d5166','',clGNone); //Ana layout mainLayout = Form1.AddNewLayout(Form1, 'mainLayout'); mainLayout.Align = alClient; mainLayout.Margins.Bottom=50; //Şarkı girme edit songEdit=Form1.AddNewProEdit(mainLayout, 'songEdit', 'Write a song...'); songEdit.Align = alTop; songEdit.Margins.Top=50; songEdit.Width = 250; songEdit.Height = 30; songEdit.clProSettings.IsRound=True; songEdit.clProSettings.RoundHeight=15; songEdit.clProSettings.RoundWidth=15; songEdit.SetclProSettings(songEdit.clProSettings); // Şarkı listeleme Memo1= Form1.AddNewMemo(mainLayout,'Memo1', ''); Memo1.Height=250; Memo1.Width=500; Memo1.Align=alCenter; Memo1.ReadOnly=True; Memo1.TextSettings.WordWrap = True; Memo1.Lines.Add('SONG LIST'); Memo1.TextSettings.HorzAlign = taCenter; Memo1.TextSettings.Font.Size=50; // Label şarkı ismi lblName = Form1.AddNewProLabel(mainLayout, 'lblName', ''); lblName.Width=100; lblName.Align=alVertCenter; lblName.clProSettings.FontSize = 20; lblName.clProSettings.FontColor = clAlphaColor.clHexToColor('#a8ffde'); lblName.clProSettings.TextSettings.Font.Style = [fsBold]; lblName.SetclProSettings(lblName.clProSettings); //Buton şarkı ekleme BtnAddSong=Form1.AddNewProButton(mainLayout, 'BtnAddSong', 'Add Song'); BtnAddSong.Margins.Bottom=5; BtnAddSong.Align=alBottom; BtnAddSong.Height=35; BtnAddSong.Width=100; BtnAddSong.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnAddSong.clProSettings.FontSize = 15; BtnAddSong.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#2cc361'); BtnAddSong.clProSettings.IsRound=True; BtnAddSong.clProSettings.RoundHeight=20; BtnAddSong.clProSettings.RoundWidth=20; BtnAddSong.clProSettings.TextSettings.Font.Style = [fsBold]; BtnAddSong.SetclProSettings(BtnAddSong.clProSettings); Form1.AddNewEvent(BtnAddSong,tbeOnClick,'addSong'); //Buton son eklenen şarkıyı silme BtnDelete=Form1.AddNewProButton(mainLayout, 'BtnDelete', 'Delete Song'); BtnDelete.Margins.Bottom=5; BtnDelete.Align=alBottom; BtnDelete.Height=35; BtnDelete.Width=100; BtnDelete.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnDelete.clProSettings.FontSize = 15; BtnDelete.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#ff5c5c'); BtnDelete.clProSettings.IsRound=True; BtnDelete.clProSettings.RoundHeight=20; BtnDelete.clProSettings.RoundWidth=20; BtnDelete.clProSettings.TextSettings.Font.Style = [fsBold]; BtnDelete.SetclProSettings(BtnDelete.clProSettings); Form1.AddNewEvent(BtnDelete,tbeOnClick,'deleteSong'); //Buton rastgele şarkı öner BtnSuggest=Form1.AddNewProButton(mainLayout, 'BtnSuggest', 'Random song'); BtnSuggest.Margins.Bottom=5; BtnSuggest.Align=alBottom; BtnSuggest.Height=35; BtnSuggest.Width=100; BtnSuggest.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnSuggest.clProSettings.FontSize = 15; BtnSuggest.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#488efe'); BtnSuggest.clProSettings.IsRound=True; BtnSuggest.clProSettings.RoundHeight=20; BtnSuggest.clProSettings.RoundWidth=20; BtnSuggest.clProSettings.TextSettings.Font.Style = [fsBold]; BtnSuggest.SetclProSettings(BtnSuggest.clProSettings); Form1.AddNewEvent(BtnSuggest,tbeOnClick,'randomSong'); Form1.Run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 54 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Hale,
void randomSong { if Memo1.Lines.Count <= 1 { ShowMessage('Lütfen önce şarkı ekleyin!'); exit; } len = Memo1.Lines.Count - 1; rand = clMath.GenerateRandom(1, len); rndSong = Memo1.Lines[rand]; rndSong = clGetStringReplace(rndSong, '●', ''); // Sonucu göster ShowMessage('Önerilen Şarkı: ' + rndSong); }
Bu şekilde kullanabilirsin StrToInt kullanmadık burada, Eğer şarkı yoksa kullanıcıya uyarı veriyoruz. '●' karakterini temizleyerek kullanıcıya random şarkı öneriyoruz. |
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |