AGB  ·  Datenschutz  ·  Impressum  







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

umfüllaufgabe

Ein Thema von TheAn00bis · begonnen am 16. Nov 2004 · letzter Beitrag vom 16. Nov 2004
Antwort Antwort
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#1

umfüllaufgabe

  Alt 16. Nov 2004, 14:29
Hi, ich will in folgenden Code eine Kontrolle einbauen, die überprüft, ob eine Zeile mit selbem Inhalt im Memo-Feld bereits vorhanden ist:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  procedure fuelleum(VAR von, nach :INTEGER; kapaznach : INTEGER);
    begin
     if von <= kapaznach-nach
      then
       begin
         nach := nach + von;
         von:= 0;
       end
      else
       begin
         von:= von - (kapaznach-nach);
         nach:= kapaznach;
       end;
    end;
begin
    kapaz1:=8;
    kapaz2:=5;
    kapaz3:=3;

    fass1:= strtoint(edit1.text);
    fass2:= strtoint(edit2.text);
    fass3:= strtoint(edit3.text);

    ziel1:=strtoint(edit4.text);
    ziel2:=strtoint(edit5.Text);
    ziel3:=strtoint(edit6.text);
    memo1.Lines.add(inttostr(fass1)+' '+inttostr(fass2)+' '+inttostr(fass3));
    repeat
      if fass3=Kapaz3
        then fuelleum(fass3,fass1, kapaz1)
        else if fass2 > 0
        then fuelleum(fass2, fass3, kapaz3)
        else fuelleum(fass1,fass2, kapaz2);


    memo1.Lines.add(inttostr(fass1)+' '+inttostr(fass2)+' '+inttostr(fass3));
    until
    (fass1=ziel1)And(fass2=ziel2)And(fass3=ziel3)Or[b](Schondrin=true);[/b]
    
end;

end.
Wenn die Zeile schon existiert soll Schondrin true sein, ansonsten falsch. Jetzt wollte ich eine for schleife einbauen, die jede Zeile des Memofeldes durchgeht und überprüft, ob diese gleich der ist, die jetzt geschrieben wird. Meine eigentlich Frage:

Wie kann ich überprüfen, wieviele Zeilen bereits geschrieben wurden? Also, welche die neuste ist.


Pls help - lol die smilies sind hier aber komisch
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#2

Re: umfüllaufgabe

  Alt 16. Nov 2004, 14:40
Hi,

TMemo.Lines.Count liefert die Anzahl der Zeilen (Index ist 0-basiert).

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#3

Re: umfüllaufgabe

  Alt 16. Nov 2004, 14:49
Cool, danke - ich dachte schon man müsste dafür auch erst eine Menge Code schreiben, um irgendwo eine Zählervariable einzubringen, aber das ist ja super!

Und wenn ich jetzt jede Zeile durchgehen und überprüfen will nwill kann ich das so machen

Delphi-Quellcode:
 for zeile:=1 TO (TMemo.Lines.Count) DO begin
       if memo1.lines.zeile==memo.lines.(TMemo.Lines.Count) Do schondrin:=false;
       end;
Ich denke die Syntax ist ein wenig falsch, wäre toll wenn mir jemand sagen könnte wie ich das berichtigen kann!
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#4

Re: umfüllaufgabe

  Alt 16. Nov 2004, 14:54
 if memo.Lines.IndexOf('Zu suchender Text')>=0 then Schondrin:=True; oder so ähnlich...

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#5

Re: umfüllaufgabe

  Alt 16. Nov 2004, 15:00
So sollte der Code aussehen:
Delphi-Quellcode:
wenn du schauen willst, ob der string astring schon vorhanden ist:
astring:='TjaWoIsserDenn'

For zeile:=0 to memo1.lines.count-1 do
   if memo1.lines[i]= astring then
    begin
    schondrin:=true
    break; // SChleife wird abgebrochen
    end;
   else
    schondrin:= false;
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
16. Nov 2004, 15:03
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Und auch diese Frage gehört nicht zu "Programmieren Allgemein".
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#7

Re: umfüllaufgabe

  Alt 16. Nov 2004, 15:11
Hey DANKE!

Beide Codes gehen wohl, aber da Steves etwas kürzer war habe ich seinen genommen!
Aber tut mir ganz gut zu sehen, dass man es auch anders machen kann!

Das Programm klappt jetzt, hätte nie gedacht, dass man das so einfach realisieren kann!

P.S.: Super Forum!!! Ich konnte arnicht glauben wie schnell sich die Anzahl der Views ändert. Das in einem Forum von einer Entwicklungsumgebung, die ich immer für relativ schwach hielt. Es überascht schon, wie beliebt Delhi doch zu sein scheint.

Aber da die Moderatoren das hier ziemlich eng sehen (kommt mir zu mindest so vor - was bei einem Forum der Größe bestimmt auch MUSS ist) will ich nicht zu sehr ins OT kommen!

Thx...

/Edit: Sry, Shargy....
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:07 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