Table ile döngü kurma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

Table ile döngü kurma

Mesaj gönderen nosedive »

Kod: Tümünü seç


procedure TFrmMain.Button4Click(Sender: TObject);
var
  baslangic: integer;
  cumle, sonuc: string;
begin
  while not table1.Eof do
  begin
    Table1.First; 
    Table1.Edit;
    edit2.Text := DBEdit10.Text;
    cumle := secmen.Text;
    baslangic := pos(cumle, Edit2.Text);
    sonuc := copy(cumle, baslangic + 327, 4);
    edit1.Text := sonuc;
    DBedit8.Text := Edit1.Text;
    Table1.Post;
    Table1.Next;
  end;
end;

bir text dosyadan istediğim satiri bulup ordan istediğim parçayı aliyorum..sonra onu edit1 e atiyorum. Edit1. den de DBEdit e alip VT ye yazdırıyorum..ancak burda döngüyü kuramaadım galiba..Sonsuz döngüye giriyor program cevap vermiyor..

Teşekkürler
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
teble1.first komutunu döngünün içinde vermişsiniz.
onu döngünün dışına alın.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

teşk

Mesaj gönderen nosedive »

buraya yanlış yazmışım teşk. düzelttim onu
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

bi eksik

Mesaj gönderen nosedive »

Kod: Tümünü seç


procedure TFrmMain.Button4Click(Sender: TObject);
var
  baslangic: integer;
  cumle, sonuc: string;
begin
  ADOQuery1.First;

  while not ADOQuery1.Eof do
  begin
    sonuc:='';
    ADOQuery1.Edit;
    edit2.Text := DBEdit10.Text;
    cumle := secmen.Text;
    baslangic := pos(cumle, Edit2.Text);
    sonuc := copy(cumle, baslangic + 327, 4);
    edit1.Text := sonuc;
    DBedit8.Text := Edit1.Text;
    ADOQuery1.Post;
    edit1.Text:='';
    ADOQuery1.Next;
    Application.ProcessMessages;
  end;
end;

şimdi burda şoyle bi sıkıntım var..Kod çalışıyor tamam...ama baslangic degerini alırken doğal olarak aradığım kelime her satırın başında..tabi bulduğu zamanda baslangic değeri olarak hep "0" degeri geliyor...çünkü hep satir başından itibaren başlıyor aramaya..tabi bundan dolayıda bütün kayıtlarda ve bütün işlemlerde ilk satırın 327 nci karakterinden itibaren 4 karakterini alıyor..

şimdi ben bunu bi alt satıra nasıl atarım...yada çözümü nedir tam olarak ?
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

Mesaj gönderen nosedive »

hiç cevap yokmu ?
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

kusura bakmayın cevabı biraz geciktirdik.
bu aralar kendilerine fazla zaman ayırmaya başladılar.
arkadaşlar hemen ilgilenecekler.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

kardeş burda önce dosyayı okumak için açıyorsun ve döngü içerisinde satır satır okuyorsun. dikkat etmen bi husus da, dosyanın satır adeti ile tablonun kayıt adeti aynı olmalı ki gördüğüm kadarıyla aynı. kolay gelsin.

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
var
  baslangic: integer;
  cumle, sonuc: string;
  dosya: textfile;
begin
AssignFile(dosya,'dosya Yolu\secmen.txt'); reset(dosya);
  ADOQuery1.First;
  while not Eof(dosya) do
  begin
    readln(dosya,cumle);
    sonuc:='';
    ADOQuery1.Edit;
    edit2.Text := DBEdit10.Text;
    baslangic := pos(cumle, Edit2.Text);
    sonuc := copy(cumle, baslangic + 327, 4);
    edit1.Text := sonuc;
    DBedit8.Text := Edit1.Text;
    ADOQuery1.Post;
    edit1.Text:='';
    ADOQuery1.Next;
    Application.ProcessMessages;
  end;

end;
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Evet @aslangeri haklı çok ihmal ettik forumu. İşimiz gücümüz SOHBET başlığında geyik yapmak.

Fakat benimde bir kaç sorum var.

Bir TEXT dosyada satırlar en fazla 255 (+1 CR) karekterden oluşur. Siz nasıl baslangic + 327 karekter alabiliyorsunuz.-----BU BİLGİ YANLIŞTIR-----

PosEx() fonksiyonu ne iş yapar?

TEXT dosyayı nasıl bir yöntemle okuyorsunuz?

Bu işlemin daha kolay yolları olabilir mi?

Delphi ile ilgili okuduğunuz son kitabın İsmini, Yazarını, Yayın evini ve ISBN numarasını öğrenebilit miyiz ?

Teşekkürler.
En son poshet303 tarafından 23 Haz 2006 02:59 tarihinde düzenlendi, toplamda 3 kere düzenlendi.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

poshet303 yazdı:Bir TEXT dosyada satırlar en fazla 255 (+1 CR) karekterden oluşur.
İlk defa bir text dosyanın satırında en fazla 255 karakter olabileceğini duydum?
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

valla benim çalıştığım text dosyaları 350+ karakter ve(2/CR). ama yinede okuma ve yazma yapabiliyorum.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

İlk defa bir text dosyanın satırında en fazla 255 karakter olabileceğini duydum?
İlk kez ben uydurduğum için olabilir mi? :)
valla benim çalıştığım text dosyaları 350+ karakter ve(2/CR). ama yinede okuma ve yazma yapabiliyorum.
Doğrudur yapabilirsiniz.


Verdiğim bilgi yanlış malesef. Özür diliyorum.

Eski Pascal günlerime döndüm birden Text file denilince. Standart Pascal stringlerinin 255+1 karekter olamsından kaynaklanan bir yanlış anlaşılma durumu.
Tekrar özür.
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

Mesaj gönderen nosedive »

poshet303 yazdı:Evet @aslangeri haklı çok ihmal ettik forumu. İşimiz gücümüz SOHBET başlığında geyik yapmak.

Fakat benimde bir kaç sorum var.

Bir TEXT dosyada satırlar en fazla 255 (+1 CR) karekterden oluşur. Siz nasıl baslangic + 327 karekter alabiliyorsunuz.

PosEx() fonksiyonu ne iş yapar?

TEXT dosyayı nasıl bir yöntemle okuyorsunuz?

Bu işlemin daha kolay yolları olabilir mi?

Delphi ile ilgili okuduğunuz son kitabın İsmini, Yazarını, Yayın evini ve ISBN numarasını öğrenebilit miyiz ?

Teşekkürler.
bir text dosya 255 + 1 karakterden oluşur...mu acaba...istersen sana text dosyamı yolalyayım...kaç bin karakterden oluştuğunuda bizzat müşahede edebilirisin..

PosEx fonksiyonu ne iş yapar...her ne iş yapıyorsa...anlatırsan ogrenebiliriz...

nasıl bir işlem yapmak istediğim gayet açık anlatmışım...bildiğin daha kolay bi yöntem varsa yardımcı olabilirsin...eger yoksa teşekkür etmesini de biliriz...

bu işlemin daha kolay yolları olabilirmi ? - bilmem olabilirmi? olursada bunun için soruyoruz zaten foruma..


Delphi ile ilgili okuduğunuz son kitabın İsmini, Yazarını, Yayın evini ve ISBN numarasını öğrenebilit miyiz ? - asıl sinirlendiğim noktada burası...ukalalığın ne anlamı var burda.. ? soruya cevap verip vermemek elinde olan bir şey...şimdi senin bu tavrınada forum kurallalarını çiğnemeden cevap vereyim...

bir Text dosyada satırlar 255 karakterden oluşur demişsin...o zaman sorayım..nerde egitim aldık? nerden mezunuz..mozambik cumhuriyeti falan mı ?
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

nosedive Tarih: Cum Hzr 23, 2006 12:13 Mesaj konusu:
hiç cevap yokmu ?
Benim cevabım sitem için di, Soru için değil.

Evet Mozambik cumhuriyeti. Orda hala Turbo Pascal öğretiyorlar, Dünyanın gerisindeyiz biraz.
Kullanıcı avatarı
nosedive
Üye
Mesajlar: 238
Kayıt: 16 May 2004 07:48

..

Mesaj gönderen nosedive »

o sitem değildi sadece postun yukarda ve yanıtlanmamış görünmesi için yazdım onu..

ayrıca sen mozambik cumhuriyetinden isen bende memik yanık öğrenmiş olayım delphiyi :)

hakkını helal et gerginimiz biraz 1 günde bitecek işi 1 saatte isterlerse geriliyor insan..

o sorunumuda hallettim bu arada

teşk.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Yahu ben anlamıyorum!Biri Memik Yanık antipatisi duyuyor ve insanların da aynı antipatiyi duyması için elinden geleni yapıyor ya da parayla yaptırıyor bunu.Şu saçmalığa bir son verin artık, kaçımız Memik Yanık kadar bilgiye sahibiz ya da kitap çıkarabilecek yeteneğimiz, imkanımız var da bu eleştiriyi yapma hakkına sahip olduğumuzu düşünüyoruz?Beğenmiyorsanız almayın okumayın ama şu karalama kampanyasını da bırakın artık.Aynı konunun temcit pilavı gibi öne sürülmesinden artık gına geldi.LÜTFEN!
Cevapla