Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Memo Nesnesinin Bir Line'ındaki String'i Çekme
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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 Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
haletr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: Dün
Konum: Konya
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı haletr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Memo Nesnesinin Bir Line'ındaki String'i Çekme
    Gönderim Zamanı: 4 Saat 43 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;
}

Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 54
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 54 Dakika Önce Saat 17:10
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. 
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.