![]() |
Bestimmtes Zeichen aus Stringlist
Hallo,
wie kann ich ein bestimmtes Zeichen aus einem bestimmten Element einer Stringlist auslesen? Beispiel: 3. Zeichen im Element mit dem Index 6. Wie mache ich das? :-D Vielen Dank :thumb: |
Re: Bestimmtes Zeichen aus Stringlist
Du hast eine indizierte Liste von Strings, und ein String ist eine indizierte Liste von Chars. Was also spricht gegen StrList[5][3]?
|
Re: Bestimmtes Zeichen aus Stringlist
Hallo
Bitte beachte die 5 um an den 6.String der StringListe zu kommen, da der index hier 0 basiert ist. (0..5). Desweiteren ist aber in einem String der Zeichenindex 1 basierend! Auch solltest du am besten vorher checken, daß die positionen auch besetzt sind.
Delphi-Quellcode:
function MyGetChar(Const aStrings:tStrings; iLine,iPos:integer):Char;
var sTmp:String; begin { Safety } Result := #0; sTmp := ''; { Mainwork } If (iLine>=0) and (iLine<aStrings.Count) then begin sTmp := aStrings[iLine]; if (Length(sTmp)>=iPos) then Result := sTmp[iPos]; end; end; |
Re: Bestimmtes Zeichen aus Stringlist
okay vielen dank! :thumb:
eine andere sache... kann ich innerhalb der stringlist die elemente einfach verschieben? warum ich frage ist die sache, dass bei
Delphi-Quellcode:
der fehler auftritt, dass das Listenmaximum überschritten wird.
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
|
Re: Bestimmtes Zeichen aus Stringlist
Zitat:
der Debugger hilft... mfg Christian |
Re: Bestimmtes Zeichen aus Stringlist
Zitat:
debugger? was kann ich tun, damit das listenmaximum nicht überschritten wird? |
Re: Bestimmtes Zeichen aus Stringlist
Hallo,
TList und alle ihre Nachfahren beiten die Methode ![]() |
Re: Bestimmtes Zeichen aus Stringlist
Bei
Delphi-Quellcode:
und
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
Delphi-Quellcode:
entsteht der gleiche Fehler! :gruebel:
List.Move(i-1,i+ StrToInt(Schluessellist[i-1]))
|
Re: Bestimmtes Zeichen aus Stringlist
|
Re: Bestimmtes Zeichen aus Stringlist
Ich konnte nichts finden...die Variablen stimmen alle :gruebel:
Ich verstehe auch nicht warum das zu groß ist?
Delphi-Quellcode:
Das Programm macht ja schon beim ersten Durchlauf (i=1) einen Fehler.
for i := 1 to length (Schluessel) do
begin List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1])); List.Sort; end; Folgendes steht ja dann da:
Delphi-Quellcode:
Ich versteh das nicht?!
List.Exchange(0, 1 + {Ziffer im Element mit dem Index 0 in der Schluessellist});
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 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 by Thomas Breitkreuz