Selam arkadaşlar herkse hayırlı günler dilerim bir sorum olacak ama size fazla bilgi veremem bildiklerim ise şunlar
+ xx xxxx xxxxxxxxx xxxxx xxx xxxxx xx x
xxxx xxxxx xx x x xxxxx x x x xxxxx x x x x
xxxx x x xxxxx x x x x xxxxx x x x x x x
+ xxx xx x x x x xxxxx x x x x x x x xx x x
x x x xxxx x x x xx x x x xxxxx x x x x x xx
x x xxxxxx x x x x x x x x x x x x x x xxxxx
Şeklinde bir text dosyası olsun ben bu dosyayı okuyacağım ve başka bir dosyaya yazacağım başında artı işareti olan yerler parağraf başı ve her satırın sonunda enter var şimdi her satırın sonunda enter varsa hepsi paragraf diyecesiniz ama değil neyse işte ben bunu şu düzende kayıt etmek zorundayım
xx xxx x x x x xxxxxx x x x x x xx...................
x x x x x x xxxxx x x x x x xxxxx xx................
yani paragraf kısımlarını tek satır gösteceğim satır sonlarındaki #13 #10 karakterlerini sildim tamamı tek satır oldu.
mantık kurmada yardımcı olabilirseniz sevinirim teşekkür ederim
Mantık yardımı lütfen
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Mantık yardımı lütfen
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
- Mantık kurmak konusunda değil de bu bilgiler ışığında bende meraktan başka bişi uyandırmadı.
- #10#13'leri silmeyi başardığınıza göre copy() fonksiyonuyla dilediğiniz yerden dilediğiniz kadar veriyi de alabileceğinizi düşünüyorum ve dolayısıyla olay basit bir döngüye kalıyor...
- Samimi söylüyorum burada ne yapmak isteyip de yapamadığınızı anlamadım...
- Her paragraf başlangıcını '+ xxx' olduğunu ve her satırı döngü içinde SATIR isimli bir string değişkene aktardığınızı varsayarsak, bu başlıklara konumlandığını anlamak için IF POS(' + xxx', SATIR) > 0 then ... şeklinde bir sorgu yetiyor...
- Artık bir veritabanı mı tanımlarsınız yoksa memo'ya Formatlı yazdırıp text olarak savetofile ile mi kaydedersiniz o size kalıyor....
- #10#13'leri silmeyi başardığınıza göre copy() fonksiyonuyla dilediğiniz yerden dilediğiniz kadar veriyi de alabileceğinizi düşünüyorum ve dolayısıyla olay basit bir döngüye kalıyor...
- Samimi söylüyorum burada ne yapmak isteyip de yapamadığınızı anlamadım...
- Her paragraf başlangıcını '+ xxx' olduğunu ve her satırı döngü içinde SATIR isimli bir string değişkene aktardığınızı varsayarsak, bu başlıklara konumlandığını anlamak için IF POS(' + xxx', SATIR) > 0 then ... şeklinde bir sorgu yetiyor...
- Artık bir veritabanı mı tanımlarsınız yoksa memo'ya Formatlı yazdırıp text olarak savetofile ile mi kaydedersiniz o size kalıyor....
Özür dilerim anlatamadım o artı işaretini ne koydum oraya oraların tek satır haline dönüştürüleceğini anlatmak için söyle izah edeyim arkadaşlar
/////////////// bu dosyanın orijinali
-MİLLETVEKİLLERİNİN SPORA BAKIŞI
-G.Ü.'NDE YAPILAN ANKETTE MİLLETVEKİLLERİ, TÜRK
SPORUNUN EN ÖNEMLİ SORUNUNUN SPOR TESİSLERİNİN
YETERSİZLİĞİ OLDUĞUNU BİLDİRDİLER
-ANKETE KATILAN MİLLETVEKİLLERİNİN YÜZDE 58.3'Ü,
SPORA AYRILAN PAYI YETERSİZ BULDU
-MİLLETVEKİLLERİNİN YÜZDE 53.3'Ü, DAHA ÖNCE FUTBOL OYNAMIŞ
ERZURUM (A.A) - 05.01.2005 - Milletvekillerine göre Türk sporunun
en önemli sorunu, spor tesislerinin yeterli düzeye çıkarılamaması.
Gazi Üniversitesi Beden Eğitimi ve Spor Yüksekokulu Öğretim Üyesi
Yrd.Doç.Dr.Fatih Yenel ile araştırma görevlileri Hamdi Alper Güngörmüş
ve Baki Yılmaz tarafından gerçekleştirilen ''Milletvekillerinin Türk
sporunun sorunlarına ilişkin görüşleri'' başlıklı araştırmada, 120
milletvekilinin spora bakışları değerlendirildi.
Milletvekillerinin spora bakışlarını değerlendirmek amacıyla 22
sorudan oluşan anket çalışmasının yapıldığı araştırmada, Türk sporunun
en önemli sorunu olarak, spor tesislerinin yeterli düzeyde olmaması
gösterildi.
/////////////////////////
yukarıdaki dizilişin
////////////
-MİLLETVEKİLLERİNİN SPORA .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
ERZURUM (A.A) - 05.01.2005 - .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
Gazi Üniversitesi Beden Eğitimi.........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
Milletvekillerinin spora bakışlarını .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
/////
yapmak istediğim yukarıdaki format ama dediğim gibi #13 #10 kodlarını sildiğim zaman
orijinal yazının tamamı tek satır oluyor parağraf başlarını nasıl ayır edeceğimde paragrafı alt satırda bırakacağım
umarım şimdi anlatabilmişimdir
/////////////// bu dosyanın orijinali
-MİLLETVEKİLLERİNİN SPORA BAKIŞI
-G.Ü.'NDE YAPILAN ANKETTE MİLLETVEKİLLERİ, TÜRK
SPORUNUN EN ÖNEMLİ SORUNUNUN SPOR TESİSLERİNİN
YETERSİZLİĞİ OLDUĞUNU BİLDİRDİLER
-ANKETE KATILAN MİLLETVEKİLLERİNİN YÜZDE 58.3'Ü,
SPORA AYRILAN PAYI YETERSİZ BULDU
-MİLLETVEKİLLERİNİN YÜZDE 53.3'Ü, DAHA ÖNCE FUTBOL OYNAMIŞ
ERZURUM (A.A) - 05.01.2005 - Milletvekillerine göre Türk sporunun
en önemli sorunu, spor tesislerinin yeterli düzeye çıkarılamaması.
Gazi Üniversitesi Beden Eğitimi ve Spor Yüksekokulu Öğretim Üyesi
Yrd.Doç.Dr.Fatih Yenel ile araştırma görevlileri Hamdi Alper Güngörmüş
ve Baki Yılmaz tarafından gerçekleştirilen ''Milletvekillerinin Türk
sporunun sorunlarına ilişkin görüşleri'' başlıklı araştırmada, 120
milletvekilinin spora bakışları değerlendirildi.
Milletvekillerinin spora bakışlarını değerlendirmek amacıyla 22
sorudan oluşan anket çalışmasının yapıldığı araştırmada, Türk sporunun
en önemli sorunu olarak, spor tesislerinin yeterli düzeyde olmaması
gösterildi.
/////////////////////////
yukarıdaki dizilişin
////////////
-MİLLETVEKİLLERİNİN SPORA .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
ERZURUM (A.A) - 05.01.2005 - .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
Gazi Üniversitesi Beden Eğitimi.........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
Milletvekillerinin spora bakışlarını .........{bir sonraki paragrafa kadar aynı paragraf tek satırda devam edecek }
/////
yapmak istediğim yukarıdaki format ama dediğim gibi #13 #10 kodlarını sildiğim zaman
orijinal yazının tamamı tek satır oluyor parağraf başlarını nasıl ayır edeceğimde paragrafı alt satırda bırakacağım
umarım şimdi anlatabilmişimdir
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
#10#13'leri ayıklayınca birer satıra dönüşüyorsa işin kolay.
- Bu text'in Memo1'de olduğunu varsayalım,
- İki tane TStringList Tanımlarsın...
- Liste1 ve Liste2 olsun. Liste1'de Konu başlıkları 1..n tane listelenir,
- Liste2'de de Konu detayları 1..n tane listelenir. Şöyle ki...
- Bu text'in Memo1'de olduğunu varsayalım,
- İki tane TStringList Tanımlarsın...
- Liste1 ve Liste2 olsun. Liste1'de Konu başlıkları 1..n tane listelenir,
- Liste2'de de Konu detayları 1..n tane listelenir. Şöyle ki...
Kod: Tümünü seç
Var
Liste1, Liste2 : TStringList;
Sayac : Integer;
begin
Liste1 := TStringList.Create;
Liste2 := TStringList.Create;
Sayac := 0;
Repeat
Liste1.Add(Memo1.Lines[Sayac]);
Inc(Sayac);
Until (Sayac > Memo1.Lines.Count-1) or (Trim(Memo1.Lines[Sayac]) = '');
Repeat
Liste2.Add(Memo1.Lines[Sayac]);
Inc(Sayac);
Until (Sayac > Memo1.Lines.Count-1) or (Trim(Memo1.Lines[Sayac]) = '');
// İşte burada Liste1'in her elemanına karşılık
// Liste2'nin aynı indexli elemanı karşılığıdır...
Liste2.Free;
Liste1.Free;
end;
Sorunumu çözdüm arkadaşlar teşekkür ederim
Size tam kodunu veriyorum anlatmaktansa kod satırlarını gönderiyorum
anlatmaktan daha iyidir.
Arakdaşlar Bu arada bu kodlar text file Macintosh karakterleine dönüştürülme işlemidir. Umarım bu yöndende işinize yara gerçi biraz süslü püslü olmuş mesaj falan o kısımlar benim tercihim yalnız bu kodlar çözmeye çalıştığım paragraf başı olayı ile birlikte o kısmın neresi olduğunu belirttim Teşekkür ederim
Size tam kodunu veriyorum anlatmaktansa kod satırlarını gönderiyorum
anlatmaktan daha iyidir.
Arakdaşlar Bu arada bu kodlar text file Macintosh karakterleine dönüştürülme işlemidir. Umarım bu yöndende işinize yara gerçi biraz süslü püslü olmuş mesaj falan o kısımlar benim tercihim yalnız bu kodlar çözmeye çalıştığım paragraf başı olayı ile birlikte o kısmın neresi olduğunu belirttim Teşekkür ederim
Kod: Tümünü seç
procedure TEditor_Frm.PcToMacBtnClick(Sender: TObject);
var
F1, F2: TextFile;
Ch: Char;
X: Integer;
EndOf: Boolean;
Bos:String;
begin
EndOf := False;
MessageF('Mac Karakter Setine Dönüştür'
,'Açık belgenin karakterleri Mac karakter setine dönüşecek.'
,'Devam etmek istiyor musunuz?'
,'Editor_Frm'
,'MQ'
,2);
If MessageIn='Hayır' Then Abort;
ConvertDialog.Title:='Mac Dönüştürme İçin Dosya Kaydet';
ConvertDialog.Execute;
If ConvertDialog.FileName = '' Then
Begin
MessageF('Mac Karakter Setine Dönüştürme Tamamlanamadı.'
,'Kayıt edilecek bir dosya adı belirtmediğiniz için'
,'Dönüştürme işlemi yapılamadı!'
,'Editor_Frm'
,'MV'
,1);
Exit;
End;
Application.CreateForm(TWaitF,WaitF);
WaitF.label1.Caption:='Dönüştürme işlemi için belge temp"e yazılıyor...';
WaitF.WaitPanelText.Caption :='Pc, Mac Dönüşümü yapılıyor...';
WaitF.Gauge.MaxValue:=Length(ConvertEditor.Text);
WaitF.Show;
WaitF.Update;
Sleep(200);
AssignFile(F2, ConvertDialog.Filename+'.txt');
Rewrite(F2);
ConvertEditor.Lines:=Editor.Lines;
ConvertEditor.Lines.SaveToFile('C:\BaseEditor\Temp');
AssignFile(F1, 'C:\BaseEditor\Temp');
Reset(F1);
X:= 0;
While Not Eof(F1) Do
Begin
X:= X+1;
WaitF.Gauge.Progress:= X;
WaitF.Update;
Read(F1, Ch);
If Ch = Chr(231) then Ch := Chr(141);
If Ch = Chr(199) then Ch := Chr(130);
If Ch = Chr(240) then Ch := Chr(219);
If Ch = Chr(208) then Ch := Chr(218);
If Ch = Chr(246) then Ch := Chr(154);
If Ch = Chr(214) then Ch := Chr(133);
If Ch = Chr(254) then Ch := Chr(223);
If Ch = Chr(252) then Ch := Chr(159);
If Ch = Chr(253) then Ch := Chr(189);
If Ch = Chr(220) then Ch := Chr(185);
If Ch = Chr(221) then Ch := Chr(186);
If Ch = Chr(189) then Ch := Chr(221);
If Ch = Chr(186) then Ch := Chr(220);
If Ch = Chr(185) then Ch := Chr(134);
////// bu kısmı kullanmaya bilirsiniz////
If Ch=Chr(13) Then Ch:=Chr(32);
If Ch=Chr(10) Then
Begin
Read(F1, Ch);
If Ch=Chr(32) Then
Begin
Ch:=Chr(10);
Write(F2, Ch);
Ch:=Chr(32);
Write(F2, Ch);
End
Else
Begin
//Ch:=Chr(32);
Write(F2, Ch);
End;
End
Else
Write(F2, Ch);
///////// Bu kısma kadar sadece bu kısım yerine
/////// Write(F2, Ch); yazmanız yeterli
End;
WaitF.Hide;
WaitF.Free;
CloseFile(F2);
CloseFile(F1);
ConvertEditor.Lines.LoadFromFile('C:\BaseEditor\Temp');
DeleteFile('C:\BaseEditor\Temp');
ConvertDialog.FileName:='';
end;
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;