Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memo Nummerierung (https://www.delphipraxis.net/175677-memo-nummerierung.html)

DeddyH 9. Jul 2013 12:09

AW: Memo Nummerierung
 
Das fehlen ja auch Klammern. Muss man denn jede Kleinigkeit vorkauen?

Foxi1896 9. Jul 2013 12:12

AW: Memo Nummerierung
 
i:=-1;
repeat inc(i,1) until (i>Memo1.Lines.count-1) or (pos(':::',Memo1.Lines[i])>0);

ok ... jetzt geht es aber es gebinnt immernoch bei 10 und nicht 1.

DeddyH 9. Jul 2013 12:19

AW: Memo Nummerierung
 
repeat-until erwartet eine Bool' sche Abbruchbedingung, will man mehrere davon verknüpfen, müssen diese (sofern sie sich aus einem Vergleich ergeben) einzeln eingeklammert werden.
Delphi-Quellcode:
until a = 1 //funktioniert
until a = 1 and b > 2 //funktioniert nicht
until (a = 1) and (b > 2) //so funktioniert es wieder

p80286 9. Jul 2013 12:29

AW: Memo Nummerierung
 
Zitat:

Zitat von DeddyH (Beitrag 1221231)
Das fehlen ja auch Klammern. Muss man denn jede Kleinigkeit vorkauen?

:oops::oops:
Zitat:

Zitat von Foxi1896 (Beitrag 1221234)
ok ... jetzt geht es aber es gebinnt immernoch bei 10 und nicht 1.

Dann mach doch
Delphi-Quellcode:
i:=Memo1.Lines-i;
Ob da jetzt für die richtige Zählung
Delphi-Quellcode:
+1
oder
Delphi-Quellcode:
-1
von Nöten ist mußt Du bitte selbst heraus finden.

Gruß
K-H

DeddyH 9. Jul 2013 12:34

AW: Memo Nummerierung
 
Man könnte auch das Memo Memo sein lassen und die Daten in einer eigenen Stringliste vorhalten, dann wird zumindest die Nummerierung einfacher. Dafür wird es dann ein wenig komplizierter, bei Änderungen das Memo zu aktualisieren. Letztendlich muss jeder für sich entscheiden, wie es für ihn besser zu handhaben ist.

Foxi1896 9. Jul 2013 12:43

AW: Memo Nummerierung
 
dann versteh ich jetzt nicht was das " pos(':::',Memo1.Lines[i])>0 " bringt?
Wenn ich es jetzt doch Manuel bei i>Memo1.Lines.count-1 einstellen muss? Und es dann wieder keine Änderungen annimmt? hää:?

DeddyH 9. Jul 2013 12:51

AW: Memo Nummerierung
 
Vielleicht ist mein Denkansatz von eben tatsächlich einfacher. Nehmen wir mal an, wir haben einen fixen Teil (Überschrift) und einen variablen Teil (eben Deine Daten). Dann könnte man es doch auch so machen (ungetestetes Beispiel):
Delphi-Quellcode:
procedure TDeinForm.ZeigePseudoDaten;
const
  FIXER_STRING = 'Dies ist die Überschrift' + sLineBreak + 'mit einer zweiten Zeile';
var
  Daten: TStringlist;
  i: integer;
begin
  Daten := TStringlist.Create;
  try
    for i := 1 to 10 do
      Daten.Add(IntToStr(i) + '. Datenzeile');
    Memo1.Lines.Text := FIXER_STRING + Daten.Text;
  finally
    Daten.Free;
  end;
end;

p80286 9. Jul 2013 12:54

AW: Memo Nummerierung
 
Zitat:

Zitat von DeddyH (Beitrag 1221243)
Man könnte auch das Memo Memo sein lassen und die Daten in einer eigenen Stringliste vorhalten, dann wird zumindest die Nummerierung einfacher. Dafür wird es dann ein wenig komplizierter, bei Änderungen das Memo zu aktualisieren. Letztendlich muss jeder für sich entscheiden, wie es für ihn besser zu handhaben ist.

Kommt mir irgendwie bekannt vor

Zitat:

Zitat von Foxi1896 (Beitrag 1221247)
dann versteh ich jetzt nicht was das " pos(':::',Memo1.Lines[i])>0 " bringt?
Wenn ich es jetzt doch Manuel bei i>Memo1.Lines.count-1 einstellen muss? Und es dann wieder keine Änderungen annimmt? hää:?

Also gaanz langsam...
Du hast eine Liste mit Strings. (ob Stringlist oder Memo ist jetzt mal egal)
Die letzte Zeile Deiner Überschriften/Vorwort/HeaderwasAuchImmer ist markiert, mit ßßß ._.>>>> oder was auch immer.
Diese Zeilennummer suchst Du.

LetzteZeile:=die Zeile in der der Marker ist

Dann ist ZeilenZählungDieAusgegeben wird:=Liste.Count-Letzte Zeile;

Hoffentlich hab ich mich jetzt nicht wieder vertan.

Gruß
K-H

@DeddyH
Ich vermute der Text ist schon vor dem Einfügen vorhanden......

Foxi1896 9. Jul 2013 13:13

AW: Memo Nummerierung
 
geht das auch wenn es in einer anderen Procedure ist?

DeddyH 9. Jul 2013 13:15

AW: Memo Nummerierung
 
Was geht in einer anderen Procedure?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.
Seite 2 von 3     12 3      

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