Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bestimmtes Zeichen aus Stringlist (https://www.delphipraxis.net/101793-bestimmtes-zeichen-aus-stringlist.html)

mo_greene 18. Okt 2007 00:36


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:

Dax 18. Okt 2007 00:44

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]?

peschai 18. Okt 2007 05:51

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;

mo_greene 18. Okt 2007 07:57

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:
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
der fehler auftritt, dass das Listenmaximum überschritten wird.

r2c2 18. Okt 2007 08:45

Re: Bestimmtes Zeichen aus Stringlist
 
Zitat:

Zitat von mo_greene
Delphi-Quellcode:
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
der fehler auftritt, dass das Listenmaximum überschritten wird.

Ich schätze mal i+ StrToInt(Schluessellist[i-1]) wird zu groß...
der Debugger hilft...

mfg

Christian

mo_greene 18. Okt 2007 19:37

Re: Bestimmtes Zeichen aus Stringlist
 
Zitat:

Zitat von r2c2
Zitat:

Zitat von mo_greene
Delphi-Quellcode:
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
der fehler auftritt, dass das Listenmaximum überschritten wird.

Ich schätze mal i+ StrToInt(Schluessellist[i-1]) wird zu groß...
der Debugger hilft...

mfg

Christian

verstehe ich nicht ganz :oops:
debugger? was kann ich tun, damit das listenmaximum nicht überschritten wird?

Namenloser 18. Okt 2007 19:40

Re: Bestimmtes Zeichen aus Stringlist
 
Hallo,

TList und alle ihre Nachfahren beiten die Methode Delphi-Referenz durchsuchenMove an, mit der du Elemente verschieben kannst.

mo_greene 18. Okt 2007 19:53

Re: Bestimmtes Zeichen aus Stringlist
 
Bei

Delphi-Quellcode:
List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
und
Delphi-Quellcode:
List.Move(i-1,i+ StrToInt(Schluessellist[i-1]))
entsteht der gleiche Fehler! :gruebel:

r2c2 18. Okt 2007 20:17

Re: Bestimmtes Zeichen aus Stringlist
 
Debugger

mfg

Christian

mo_greene 18. Okt 2007 21:46

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:
  for i := 1 to length (Schluessel) do
  begin
    List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1]));
    List.Sort;
  end;
Das Programm macht ja schon beim ersten Durchlauf (i=1) einen Fehler.
Folgendes steht ja dann da:

Delphi-Quellcode:
List.Exchange(0, 1 + {Ziffer im Element mit dem Index 0 in der Schluessellist});
Ich versteh das nicht?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Seite 1 von 3  1 23      

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