Delphi 7 de memo text ayrıştırma (YARDIM!)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
koparan
Üye
Mesajlar: 5
Kayıt: 21 Şub 2014 03:10

Delphi 7 de memo text ayrıştırma (YARDIM!)

Mesaj gönderen koparan »

Merhabalar memo üzerinde çalışıyorum birkaç şey yaptım fakat çözemediğim çok nokta var yardım edebilirseniz sevinirim...

bu şekilde text dosyası var;

Kod: Tümünü seç

36
SONUÇ İLANI
36. 2013/195964 YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR SAMSUN B.B. FEN İŞLERİ MÜDÜRLÜĞÜ

İhale kayıt numarası                              : 2013/195964
1- İhalenin
a) Tarihi                                                    : 03.02.2014 b) Türü                                                      : Yapım işi c) Usulü                                                    : Açık
d) Yaklaşık Maliyeti                                 : 16.727.538,48 TRY
e) Sözleşmeye Esas Kısımlarının
Yaklaşık Maliyeti
2- İhale konusu yapım işinin
: 2.302.374,43 TRY
a) Adı                                                        : SBB (Terme-Salıpazarı-Ayvacık-Çarşamba) Muhtelif Yol Yapım
Bakım Ve Onarım İşleri Yapımı
b) Yapılacağı yer                                      : Samsun / Ayvacık - Çarşamba - Salıpazarı - Terme
c) Süresi                                                    : 600
3- Teklifler
a) Doküman Satın Alan Sayısı                 : 15
b) Dokümanı EKAP üzerinden
e-imza kullanarak indiren sayısı
: 13
c) Toplam Teklif Sayısı                            : 3
d) Toplam Geçerli Teklif Sayısı               : 3
e) Yerli istekli lehine
fiyat avantajı uygulaması
4- Sözleşmenin
: Uygulanmamıştır
a) Tarihi                                                    : 19.02.2014
b) Bedeli                                                   : 2.319.100,83 TRY
c) Süresi                                                    : 21.02.2014 - 13.10.2015
d) Yüklenicisi                                           : Öz Demireller Harf.Nakl.Tic.Ve San.Ltd.Şti.
e) Yüklenicinin uyruğu                             : Türkiye
Kamuoyuna saygıyla duyurulur.
Bunun bu şekli almasını istiyorum;

Kod: Tümünü seç

36
SONUÇ İLANI
36. 2013/195964 YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR 
YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR 
SAMSUN B.B. FEN İŞLERİ MÜDÜRLÜĞÜ
İhale kayıt numarası                              : 2013/195964
1- İhalenin
a) Tarihi                                                    : 03.02.2014 
b) Türü                                                      : Yapım işi 
c) Usulü                                                    : Açık
d) Yaklaşık Maliyeti                                 : 2.302.374,43 TRY
2- İhale konusu yapım işinin
a) Adı                                                        : SBB (Terme-Salıpazarı-Ayvacık-Çarşamba) Muhtelif Yol Yapım Bakım Ve Onarım İşleri Yapımı
b) Yapılacağı yer                                      : Samsun / Ayvacık - Çarşamba - Salıpazarı - Terme
c) Süresi                                                    : 600
3- Teklifler
a) Doküman Satın Alan Sayısı                 : 15
b) Dokümanı EKAP üzerinden e-imza kullanarak indiren sayısı m: 13
c) Toplam Teklif Sayısı                            : 3
d) Toplam Geçerli Teklif Sayısı               : 3
4- Sözleşmenin
a) Tarihi                                                    : 19.02.2014
b) Bedeli                                                   : 2.319.100,83 TRY
c) Süresi                                                    : 21.02.2014 - 13.10.2015
d) Yüklenicisi                                           : Öz Demireller Harf.Nakl.Tic.Ve San.Ltd.Şti.
e) Yüklenicinin uyruğu                             : Türkiye
Kamuoyuna saygıyla duyurulur.
yani bana mesela

Kod: Tümünü seç

a) Tarihi                                                    : 03.02.2014 b) Türü                                                      : Yapım işi c) Usulü                                                    : Açık
b) den sonrakini ve c) den sonrakini aşağıya indirmesini istiyorum.

Kod: Tümünü seç

36. 2013/195964 YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR SAMSUN B.B. FEN İŞLERİ MÜDÜRLÜĞÜ
burda 2 tane yol yapım bakım ... var bunları alt alta getirecek ve samsun b.b fen işlerini de alt satıra indirecek şekilde ayarlamam gerekiyor...

Kod: Tümünü seç

b) Dokümanı EKAP üzerinden
e-imza kullanarak indiren sayısı
: 13
bu satırı da birleştirmesini istiyorum,

2- İhale konusu yapım işinin
: 2.302.374,43 TRY
a) Adı : SBB (Terme-Salıpazarı-Ayvacık-Çarşamba) Muhtelif Yol Yapım
Bakım Ve Onarım İşleri Yapımı

2- ve a) arasında birşey varsa bunu kesip istediğim yere yerleştirmesini istiyorum..

biliyorum biraz fazla şey istiyorum fakat herkes kısım kısım yardım etse bana yeterli olur uzun süredir delphi ile çalışmıyorum ve bu programda bana en kısa zamanda lazım yardımlarınız için çok teşekkür ederim iyi günler..
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Delphi 7 de memo text ayrıştırma (YARDIM!)

Mesaj gönderen mrmarman »

Merhaba.

- Nöbette boş vakit için iyi bir temrin çalışması oldu benim için. :o
- Neyi neden yaptığımı kod içerisinde açıklama satırı ekleyerek anlattım.
- İki nokta üst üste imlerini dahi 50 nolu sütun ile hizaladık, afiyet olsun :bravo:

Resim

Kod: Tümünü seç

36
SONUÇ İLANI
36. 2013/195964 YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR
YOL YAPIM BAKIM VE ONARIM İŞLERİ YAPTIRILACAKTIR
SAMSUN B.B. FEN İŞLERİ MÜDÜRLÜĞÜ
İhale kayıt numarası                             : 2013/195964
1- İhalenin
a) Tarihi                                        : 03.02.2014
b) Türü                                          : Yapım işi
c) Usulü                                         : Açık
d) Yaklaşık Maliyeti                             : 16.727.538,48 TRY
e) Sözleşmeye Esas Kısımlarının
Yaklaşık Maliyeti
2- İhale konusu yapım işinin
: 2.302.374,43 TRY
a) Adı                                           : SBB (Terme-Salıpazarı-Ayvacık-Çarşamb
a) Muhtelif Yol Yapım
Bakım Ve Onarım İşleri Yapımı
b) Yapılacağı yer                                : Samsun / Ayvacık - Çarşamba - Salıpazarı - Terme
c) Süresi                                        : 600
3- Teklifler
a) Doküman Satın Alan Sayısı                     : 15
b) Dokümanı EKAP üzerinden
e-imza kullanarak indiren sayısı
: 13
c) Toplam Teklif Sayısı                          : 3
d) Toplam Geçerli Teklif Sayısı                  : 3
e) Yerli istekli lehine
fiyat avantajı uygulaması
4- Sözleşmenin
: Uygulanmamıştır
a) Tarihi                                        : 19.02.2014
b) Bedeli                                        : 2.319.100,83 TRY
c) Süresi                                        : 21.02.2014 - 13.10.2015
d) Yüklenicisi                                   : Öz Demireller Harf.Nakl.Tic.Ve San.Ltd.Şti.
e) Yüklenicinin uyruğu                           : Türkiye
Kamuoyuna saygıyla duyurulur.

Kod: Tümünü seç

Function MetniDuzenle( strGelen: String ):String;
Var
  iSayac   : Integer;
  strSatir : String;
  slListe  : TStringList;
begin
  // NOT: Yapılacaklar iki FAZ olarak değerlendirildi.
  // 1. Faz: Gerekli olduğu gibi gereksiz de olsa bazı eklentiler önceden yapılır.
  // 2. Faz: Fazladan eklenmiş gereksiz olan satırlar ise ayıklanır.
  slListe      := TStringList.Create;
// Faz 1 : Eklemeler.
// -----------------------------------

// Tüm "YAPTIRILACAKTIR" ifadelerinden sonra ENTER basıldı.
// Fazladan oluşacak boş satırlar en sonda otomatik silinecektir.
  slListe.Text := StringReplace( strGelen, 'YAPTIRILACAKTIR', 'YAPTIRILACAKTIR'#10, [rfReplaceAll]);

// a..z'ye kadar olan parantez ile biten her maddeyi bir satır alta indiriliyor..
// Fazladan oluşacak boş satırlar en sonda otomatik silinecektir.
  for iSayac := 97 to 97+26 do
    slListe.Text := StringReplace( slListe.Text, Chr(iSayac)+')', #10+Chr(iSayac)+')', [rfReplaceAll]);

// Faz 2 : Ayıklama ve Düzenlemeler...
// -----------------------------------
  for iSayac := slListe.Count-1 downto 0 do
  begin
    if Trim(slListe[iSayac]) = ''
      then slListe.Delete(iSayac)
      else begin
        strSatir := Trim( slListe[iSayac] );
        if Pos(':', strSatir) > 0 then
        begin
          while (Pos(':', strSatir) > 50) AND (strSatir[ Pos(':', strSatir)-1 ] = ' ' )
            do System.Delete( strSatir, Pos(':', strSatir)-1, 1 );
          while (Pos(':', strSatir) < 50)
            do System.Insert( ' ', strSatir, Pos(':', strSatir) );
        end;
        slListe[iSayac] := Trim(strSatir);
      end;
  end;
  Result := slListe.Text;
  slListe.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Kullanımı :
  Memo2.Lines.Text := MetniDuzenle( Memo1.Lines.Text )
end;
Resim
Resim ....Resim
Cevapla