![]() |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Zitat:
Das ist ja mal eine geniale Lösung! Die gefällt mir, weil die sehr schön übersichtlich bleibt. Diese Zeile ist mir gänzlich neu, so ein Konstrukt habe ich noch nie gesehen:
Delphi-Quellcode:
Sehr Interessant!
TMyIntegerHelper = record helper for TMyInt
Ganz herzlichen Dank. Nachtrag: Ich habe die function erweitert, damit das inc(x,n) kompatibel bleibt :-)
Delphi-Quellcode:
function inc(aAnzahl: Integer = 1): TMyInt; inline;
LG :-) |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Wünsche einen schönen guten Abend!
Zitat:
Bis bald... Thomas |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Zitat:
Delphi-Quellcode:
oder
for var i := 1 to 3 do
begin varx[i].a := 'Bla ' + IntToStr(i); varx[i].b := 'Bla ' + IntToStr(i) + ' b'; end;
Delphi-Quellcode:
oder
procedure SetContent(const AIndex: Integer);
begin varx[AIndex].a := 'Bla ' + IntToStr(AIndex); varx[AIndex].b := 'Bla ' + IntToStr(AIndex) + ' b'; end; ... for var i := 1 to 3 do SetContent(i);
Delphi-Quellcode:
oder oder oder
procedure SetContent(const AIndex: Integer; const AStr1, AStr2: string);
begin varx[AIndex].a := AStr1; varx[AIndex].b := AStr2; end; ... for var i := 1 to 3 do SetContent(i, 'String1', 'String2'); |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Zitat:
Hallo und einen guten Abend zurück! Ich habe hier den record, den ich mit über 100 Strings definieren möchte. (Es ginge auch mit vielen anderen Mitteln, wie resourceen, textdateien, inifiles usw.) Wenn ich nun meinen Originalcode nehme, müsste ich alle Einträge händisch durchnummerieren. Mit den Möglichkeiten, die mir gegeben wurden, kann ich aber einfach immer zwei Zeilen kopieren und einfügen, muss dann nur die Strings einfügen. Das ist mir einfach zu lästig. :-) LG |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
[QUOTE=KodeZwerg;1502959][QUOTE=Harry Stahl;1502956]
Zitat:
Hallo KodeZwerg, leider ist das nicht nutzbar, weil Du leider die Frage falsch verstanden hast. Mir ging es nicht um die Werte in den Strings, die sich erhöhen sollen, sondern das Array soll dynamisch sein. varx[i].a <-- das i wollte ich automatisch erhöhen lassen, weil die Strings fix sind. LG :-) |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Alles schön und gut, aber mir persönlich erscheint dann dies hier immer noch am übersichtlichsten. Ist halt Geschmackssache (und PHP ist mir nicht ganz geheuer).
Delphi-Quellcode:
x := 1;
varx[x].a := 'Bla 1'; varx[x].b := 'Bla 1 b'; Inc(x); varx[x].a := 'Bla 2'; varx[x].b := 'Bla 2 b'; Inc(x); varx[x].a := 'Bla 3'; varx[x].b := 'Bla 3 b'; |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Zitat:
(ps: hab noch mehr rangepappt da oben) |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Guten Morgen.
Mir ist diese Nacht bewusst geworden, dass es im Prinzip doch auch viel einfacher geht. Warum soll ich mich eigentlich mit der Verwaltung des 'index' beschäftigen? Eine Verarbeitung, mittels .add('string1', 'string2'); macht doch noch mehr Sinn. Innerhalb der Verarbeitung kann ich dann sogar das Array wieder selbst verwalten und muss die Größe nicht im vorraus fixieren.. Ich bastel das nachher zusammen und gebe das dann hier als Rückmeldung bekannt. 🤗👋🏻 |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Hier meine Idee der Umsetzung eines sich selbst erhöhenden Arrays, mit gleichzeitiger Zuweisung von Werten.
Delphi-Quellcode:
Ein Zugriff später könnte dann wie folgt passieren:interface type TMyAddResult = record MyResult: Boolean; MyIndex: Integer; end; type TMyTippOfDayRecord = record Tipp: String; Info: String; end; Type TMyTippOfDay = Array of TMyTippOfDayRecord; function Add(var aTippArray: TMyTippOfDay; aTipp, aInfo: String): TMyAddResult; var ToDRecord: TMyTippOfDay; implementation function Add(var aTippArray: TMyTippOfDay; aTipp, aInfo: String): TMyAddResult; var DummyIndex: Integer; begin Dummyindex := 1; try try if Length(aTippArray) > 0 then DummyIndex := Succ(Length(aTippArray)); SetLength(aTippArray, DummyIndex); aTippArray[Pred(DummyIndex)].Tipp := aTipp; aTippArray[Pred(DummyIndex)].Info := aInfo; finally Result.MyIndex := DummyIndeX; Result.MyResult := True; end; except Result.MyResult := False; Result.MyIndex := -1; end; end; initialization if not Add(ToDRecord, 'Bla 1', 'Hallo 1').MyResult then ShowMessage('Ein Fehler trat auf.'); if not Add(ToDRecord, 'Bla 2', 'Hallo 2').MyResult then ShowMessage('Ein Fehler trat auf.'); if not Add(ToDRecord, 'Bla 3', 'Hallo 3').MyResult then ShowMessage('Ein Fehler trat auf.'); if not Add(ToDRecord, 'Bla 4', 'Hallo 4').MyResult then ShowMessage('Ein Fehler trat auf.');
Delphi-Quellcode:
var
DummyX: Integer; begin for DummyX := 0 to Pred(Length(ToDRecord)) do ShowMessage('Tipp: ' + ToDRecord[DummyX].Tipp + slinebreak+ 'Info: ' + ToDRecord[DummyX].Info); Was ich noch schön fände, wäre, wenn function Add zu TMyTippOfDay gehören würde. Aber das geht scheinbar nur bei records. :? Edit: Code wurde korrigiert. LG |
AW: Variable erhöhen, wie es in php möglich ist (varx++)?
Zitat:
Zitat:
Delphi-Quellcode:
macht genau dasselbe und ist einfacher zu lesen. Wobei ich mir nicht ganz sicher bin, was MyIndex sein soll. Der Index des neu hinzugefügten Wertes? In dem Fall entfällt das Inc(DummyIndex).
begin
try try DummyIndex := Length(aTippArray); SetLength(aTippArray, DummyIndex+1); aTippArray[DummyIndex].Tipp := aTipp; aTippArray[DummyIndex].Info := aInfo; Inc(DummyIndex); finally Result.MyIndex := DummyIndex; Result.MyResult := True; end; except Result.MyResult := False; Result.MyIndex := -1; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr. |
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-2025 by Thomas Breitkreuz