AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

STRINGS "kürzen"

Ein Thema von SimonRap · begonnen am 3. Feb 2010 · letzter Beitrag vom 4. Feb 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#1

STRINGS "kürzen"

  Alt 3. Feb 2010, 21:50
Hallo zusammen,
ich wollte letztens nen Programm schreiben, was Namen, die in ein Memo eingetragen werden und nur duch ein Leerzeichen getrennt sind, jeweils in eine neue Zeile packen sollte.
Problem is, dass sobald ich mehr ale eine Zeile von Namen benutze, hört das Prgramm niemals auf!
Bitte nich meckern, wie ich programmiere, dass weiß ich selber^^
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
VAR INT,n,m:INTEGER; a,b:STRING;
begin
if checkbox1.checked
then exit;
checkbox1.checked:=false;
a:='';
b:=a;
   FOR INT:=0 TO memo1.Lines.Count-1 DO
      BEGIN
      FOR n:=1 TO length(memo1.Lines[INT]) DO
         BEGIN
         if memo1.Lines[INT][n]=' 'THEN
           BEGIN
           FOR m:=1 TO n-1 DO
           a:=a+memo1.Lines[INT][m];
           FOR m:=n+1 TO length(memo1.Lines[INT]) DO
           b:=b+memo1.Lines[INT][m];
           memo1.Lines[INT]:=a;
           memo1.Lines.Add(b);
           x:=true;
           break;
           END;
         END;
      end;
end;
Simon
  Mit Zitat antworten Zitat
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#2

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:16
sry leute ich hab die falsche kategorie erwischt ich werd das in
Sonstige Fragen zu Delphi nochma posten
Simon
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:18
Delphi-Quellcode:
var
  p: Integer;
  temp: TStringList;
begin
p := pos(' ', Memo.Text);
while p>=0 do
begin
  temp.Lines.Add(copy(Memo.Text, 1, p));
  Memo.Text := copy(Memo.Text, p+1, Length(Memo.Text)-p);
  p := pos(' ', Memo.Text);
end;
Memo.Text := temp.Text;
Nicht grad auf Performance und Eleganz, aber sollte tun was du willst - denke ich. Ungetestet hier im Browser getippert.

Edit: Deinen Code hab ich dank des furchtbaren Stils erst garnicht versucht zu verstehen, bzw. den Fehler zu finden. Wenn du weisst, dass es Käse ist, warum änderst du es nicht?
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#4

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:26
Zitat von Medium:

Edit: Deinen Code hab ich dank des furchtbaren Stils erst garnicht versucht zu verstehen, bzw. den Fehler zu finden. Wenn du weisst, dass es Käse ist, warum änderst du es nicht?
Das bisschen was ich kann, hab ich in 5 Stunden in der Schule gelernt, da kann man nur in "furchtbaren Stil" schreiben...
Simon
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:34
Okay, das sehe ich ein

Generell wird Code, der sich weitestgehend am offiziellen Styleguide orientiert am besten verstanden. Keiner Verlangt da eine 1:1 Umsetzung, aber gerade die Vorschläge zur Einrückung von Blöcken machen einem selbst das Leben unendlich leichter. Wenn du also durchaus Interesse an dem Krams hast, ist das sicherlich eine interessante Lektüre!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#6

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:54
Hallo SimonRap, sollte auch so gehen.

memo1.Text := StringReplace(memo1.Text, ' ', #13#10, [rfReplaceAll, rfIgnoreCase]); lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#7

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:57
Und der bewirkt was?
Also wo muss ich den einsetzen?


Und wäre so jetzt nur von den Einrückungen der Blöcke besser?:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
Var Zeile,Leer,n:INTEGER; a,b:String;
Begin
  a:='';
  b:=a;
  For Zeile:=0 To memo1.Lines.Count-1 Do
  Begin
    For Leer:=1 To length(memo1.Lines[Zeile]) Do
    Begin
      if memo1.Lines[Zeile][Leer]=' 'Then
      begin
        For n:=1 To Leer-1 Do
        a:=a+memo1.Lines[Zeile][n];
        For n:=Leer+1 To length(memo1.Lines[Zeile]) Do
        b:=b+memo1.Lines[Zeile][n];
        memo1.Lines[Zeile]:=a;
        memo1.Lines.Add(b);
        break;
      End;
    End;
  End;
End;
Simon
  Mit Zitat antworten Zitat
Muchacho

Registriert seit: 9. Okt 2009
60 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 22:59
Simon bleibt Cool , alles kommt mit der Zeit.

Ich kenne viele Programmierer die meistens Schrott von sich geben,
aber Stil haben Die, keine Frage!

Es ist selbstverständlich, dass ein Anfänger probiert zuerst
überhaupt was brauchbares zu programmieren und Stil kommt später.

Du brauchst Dich hier deswegen nicht zu rechtfertigen…


[delphi]

BEGIN

Muchacho

END.
  Mit Zitat antworten Zitat
Astat

Registriert seit: 2. Dez 2009
Ort: München
320 Beiträge
 
Lazarus
 
#9

Re: STRINGS "kürzen"

  Alt 3. Feb 2010, 23:22
Hallo SimonRap,

Delphi-Quellcode:

procedure TForm1.Button3Click(Sender: TObject);
begin
  memo1.Text := StringReplace(memo1.Text, ' ', #13#10, [rfReplaceAll, rfIgnoreCase]);
end;
Sollte so gehen, teste es mal, wen's nich klappt meld Dich einfach wieder, kein Problem, musst dich nur traun !!

lg. Astat
Lanthan Astat
06810110811210410503210511511603209711003210010110 9032084097103
03211611111604403209711003210010110903210010510103 2108101116122
11610103209010110510810103206711110010103210511003 2068101108112
10410503210310111509910411410510109810111003211910 5114100046
  Mit Zitat antworten Zitat
Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#10

Re: STRINGS "kürzen"

  Alt 4. Feb 2010, 00:22
Zitat von Astat:
Sollte so gehen, teste es mal, wen's nich klappt meld Dich einfach wieder, kein Problem, musst dich nur traun !!

lg. Astat
Ich check nix mehr:
ich sitz ne halbe Stunde an nem Programm und es geht net, während du dir mal eben eine Zeile ausdenkst und die funktioniert!!!!!!
Naja trotzdem thx, es funktioniert jedenfalls! http://www.sowi-forum.com/forum/images/smilies/thx.gifhttp://www.sowi-forum.com/forum/images/smilies/thx.gifhttp://www.sowi-forum.com/forum/images/smilies/thx.gifhttp://www.sowi-forum.com/forum/images/smilies/thx.gif
Simon
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz