memodan stringgrid e aktarım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

memodan stringgrid e aktarım

Mesaj gönderen conari »

Arkadaşlar Bir text den
Memo içine bilgi alıyorum.
Bu memo dan ayırarak stringlist e aktarmam lazım.

Stok sayımı gibi düşünün
numara ve miktar var

aralarda boşluk ayırma işlemini nasıl yapabilirim.

Teşekkürler.
En son conari tarafından 13 Mar 2007 06:09 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

StringList.Assign(DBMemo1.Lines);
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

@Şaban hoca

String list i yanlış yazmışım hızlı edeyim derken
stringgrid olacaktı.

StringGrid1.Assign(memo1.Lines);

Bu şekilde kullansam yermi.? :roll: :?: :lol:
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Yemez :) . StringGrid1.Rows.Assign yer ama nasıl bir kayıt yapın var bilmiyorum.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Selam.

Öncelikle, başka bir yere aktaracaksanız Memo, ListBox vb. görsel bileşenler kullanmayın, gereksiz bir zorlama olur.

Anladığım kadarıyla her satır şu şekilde olacak:
Elma 20
Armut 30

bunu gride atmak için küçük kod:

Kod: Tümünü seç

  var
    i: Integer;
    AStringList: TStringList;
    ALine: String;
begin
  AStringList := TStringList.Create;
  with AStringList do
  begin
    LoadFromFile('A.txt');
    StringGrid.RowCount := Count +1; //Başık + satır sayısı
    for i := 0 to Pred(Count) do
    begin
      ALine := Strings[i]// ALine = 'Elma 20'
      StringGrid.Cells[0, i+1] := LeftStr(ALine, Pos(' ', ALine)-1); //Boşluk karakterinden öncesini al
      StringGrid.Cells[1, i+1] := RigthStr(ALine, Length(ALine)-Pos(' ', ALine)); //Sonrasını al
    end;//for
    Free;
  end;//with
end;//
(Uses'a StrUtils eklemeyi unutmayın)

Not:
Pos: ilk parametre olarak verilen string'in ikinci parametrenin kaçıncı karakterinden itibaren bulunduğunu geri döndürür (Pos('bc', 'abcd') = 2'dir)

Pred: Parametre olarak verilen değerin bir eksiğini döndürür.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Kod: Tümünü seç

var s :integer;
begin
for  s:=0 to memo1.Lines.Count-1  do
begin
StringGrid1.Rows[1].Assign(memo1.Lines);
end;
Hoca hepsini aynı satırdaki sütunlara yazıyor.
Alta geçmesi lazım.
stringgrid de Rows ları nasıl belirleyeceğimi de bulamadım zaten şimdi kapatıyorum sıkıldım.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

@ulucoder
ilgin için teşekkür

Kod: Tümünü seç

[Error] sayim.pas(214): Undeclared identifier: 'RigthStr'
hatası aldım uses a eklememe rağmen neyse kafa dağıldı artık yarın bakarım.

Kolay gelsin..
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

Sakin ol, bu hata için bu saatte kod bırakılmaz ki.

RigthStr değil RightStr olacaktı.
Hızlı yazayım derken...

Foruma Ctrl+Space özelliği eklesek güzel olacak :)
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

dayanamdım baktım.

tamamdır şimdilik.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

Re: memodan stringgrid e aktarım

Mesaj gönderen sr1111 »

Elma 20
Armut 30

LeftStr ve rightstr ile
2 kelime seklinde gride aliyoruz fakat 3 kelime olursa

Elma 20 onkurus
Armut 30 onbeskurus

gibi

LeftStr veya rightstr ile nasil alacagiz bunu denedim fakat basarili olamadim.
3 kelimeyide ayri sekilde pos str olarak yapamadim.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: memodan stringgrid e aktarım

Mesaj gönderen unicorn64 »

extractstrings i deneyin. verilen stringi verilen ayraçla böler ve değerleri bir stringliste atar
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
sr1111
Üye
Mesajlar: 220
Kayıt: 06 Mar 2008 01:59

Re: memodan stringgrid e aktarım

Mesaj gönderen sr1111 »

extractstrings nasil kullanacagimi bilemiyorum bu metod icin. örnek verebilirmisiniz.
Cevapla