Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Memo Problem Zeile verschieben (https://www.delphipraxis.net/131819-memo-problem-zeile-verschieben.html)

Landogar-Garuno 31. Mär 2009 23:50


Memo Problem Zeile verschieben
 
Hallo alle zusammen...

habe folgendes Problem...

mein memo oder RichEdit enthält folgende String

example:

"10:80B82B3659A572A7BABE17A7D9B47B8D"=hex:64,c1,6d ,56,51,da,2b,3d,38,66,ce,24,
22,0e,4f,d7
"10:EC320C0012330C0047330C006E330C00"=hex:65,73,73 ,49,64,00,ca,01,47,65,74,53,
79,73,74,65
"10:9A350C00D8350C0024360C0072360C00"=hex:67,40,44 ,55,3f,24,63,68,61,72,5f,74,
72,61,69,74
"10:F0485E4AE8BEBBDF7D356562B281A677"=hex:67,66,1e ,88,04,8d,b9,8b,dc,2f,57,f3,
e3,87,8f,64


Text muss formatiert werden zu....

"10:80B82B3659A572A7BABE17A7D9B47B8D"=hex:64,c1,6d ,56,51,da,2b,3d,38,66,ce,24,22,0e,4f,d7

"10:EC320C0012330C0047330C006E330C00"=hex:65,73,73 ,49,64,00,ca,01,47,65,74,53,79,73,74,65

"10:9A350C00D8350C0024360C0072360C00"=hex:67,40,44 ,55,3f,24,63,68,61,72,5f,74,72,61,69,74

"10:F0485E4AE8BEBBDF7D356562B281A677"=hex:67,66,1e ,88,04,8d,b9,8b,dc,2f,57,f3,e3,87,8f,64


wobei es sich um ca. 1000 line handelt...
und alle unterschiedlich...jedoch die selbe formatierung

also so...
"10:11111111111111111111111111111111"=hex:AA,AA,AA ,AA,AA,AA,AA,AA,AA,AA,AA,AA,
CC,CC,CC,CC
"10:22222222222222222222222222222222"=hex:BB,BB,BB ,BB,BB,BB,BB,BB,BB,BB,BB,BB
EE,EE,EE,EE

jemand von euch eine Idee? ein example wäre vom vorteil.. :P


mfg Landogar

taaktaak 31. Mär 2009 23:55

Re: Memo Problem Zeile verschieben
 
Ich sehe da eigentlich keinen rechten Unterschied
- willst du lediglich die harten Zeilenumbrüche entfernen und aus zwei Zeilen jeweils Eine machen?

himitsu 1. Apr 2009 00:04

Re: Memo Problem Zeile verschieben
 
sieht mir nach dem Inhalt 'ner Reg-File aus :gruebel: ...

wenn letztes Zeichen in Zeile ein Komma ist, dann nächste Zeile hinten dranhängen

Landogar-Garuno 1. Apr 2009 00:19

Re: Memo Problem Zeile verschieben
 
Hallo

ja es ist für eine reg file...

ja genau aus zwei zeile eine machen...habe jedoch kein ansatz...wie ich es umsetzen kann

@himitsu

wenn letztes Zeichen in Zeile ein Komma ist, dann nächste Zeile hinten dranhängen <--- genau

eventuell ein beispiel für mich?

jaenicke 1. Apr 2009 01:29

Re: Memo Problem Zeile verschieben
 
Wie wäre es so?
Delphi-Quellcode:
Memo1.Text := ReplaceString(Memo1.Text, ','#13#10, ',', [rfReplaceAll]);

Landogar-Garuno 1. Apr 2009 03:36

Re: Memo Problem Zeile verschieben
 
Hallo

Danke funzt super...
:P

Texas 1. Apr 2009 05:59

Re: Memo Problem Zeile verschieben
 
hey,
hatte das gleiche Problem und habe den code von jaenicke so übernommen und bekam gleich ne Fehlermeldung
Delphi-Quellcode:
Memo1.Text := ReplaceString(Memo1.Text, ','#13#10, ',', [rfReplaceAll]);
such such such
Delphi-Quellcode:
Memo1.Text := StringReplace(Memo1.Text, ','#13#10, ',', [rfReplaceAll]);
danke hast mir auch geholfen
gruß Texas
PS was mir hier alles so findet um 6.00 :dancer2:

himitsu 1. Apr 2009 08:38

Re: Memo Problem Zeile verschieben
 
wenn es um viele Zeilen ginge und man nicht den Weg über .Text gehn wöllte ...
nja und wenn man mal genau das macht, was man sich dachte machen zu wollen ...
Delphi-Quellcode:
var i: integer;
begin
  Memo1.Lines.BeginUpdate;
  for i := Memo1.Lines.Count - 1 downto 1 do begin
    if Pos(',', Memo1.Lines[i - 1]) = Length(Memo1.Lines[i - 1]) then begin
      Memo1.Lines[i - 1] := Copy(Memo1.Lines[i - 1], 1, Length(Memo1.Lines[i - 1]) - 1)
        + Memo1.Lines[i];
      Memo1.Lines.Delete(i);
    end;
  end;
  Memo1.Lines.EndUpdate;
end;
bzw.
Delphi-Quellcode:
var i: integer;
  S: String;
begin
  Memo1.Lines.BeginUpdate;
  for i := Memo1.Lines.Count - 1 downto 1 do begin
    S := Trim(Memo1.Lines[i - 1]);
    if Pos(',', S) = Length(S) then begin
      Memo1.Lines[i - 1] := Copy(S, 1, Length(S) - 1) + Memo1.Lines[i];
      Memo1.Lines.Delete(i);
    end;
  end;
  Memo1.Lines.EndUpdate;
end;

jaenicke 1. Apr 2009 19:21

Re: Memo Problem Zeile verschieben
 
Das ist schlecht, glaube ich, weil soweit ich mich erinnere die Lines-Eigenschaft von Memos extrem langsam ist. Das habe ich im DF beim Adventsgewinnspiel gemerkt im Vergleich zu einer normalen TStringList. Trotz BeginUpdate...EndUpdate.

DeddyH 1. Apr 2009 19:23

Re: Memo Problem Zeile verschieben
 
StringReplace ist aber auch nicht gerade für Geschwindigkeit bekannt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz