AGB  ·  Datenschutz  ·  Impressum  







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

Bestimmtes Zeichen aus Stringlist

Ein Thema von mo_greene · begonnen am 18. Okt 2007 · letzter Beitrag vom 19. Okt 2007
Antwort Antwort
Seite 1 von 3  1 23      
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#1

Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 00:36
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?

Vielen Dank
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 00:44
Du hast eine indizierte Liste von Strings, und ein String ist eine indizierte Liste von Chars. Was also spricht gegen StrList[5][3]?
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 05:51
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;
Peter Schaible
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 07:57
okay vielen dank!
eine andere sache...

kann ich innerhalb der stringlist die elemente einfach verschieben?
warum ich frage ist die sache, dass bei

List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1])); der fehler auftritt, dass das Listenmaximum überschritten wird.
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#5

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 08:45
Zitat von mo_greene:
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
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 19:37
Zitat von r2c2:
Zitat von mo_greene:
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
debugger? was kann ich tun, damit das listenmaximum nicht überschritten wird?
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 19:40
Hallo,

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

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 19:53
Bei

List.Exchange(i-1,i+ StrToInt(Schluessellist[i-1])); und
List.Move(i-1,i+ StrToInt(Schluessellist[i-1])) entsteht der gleiche Fehler!
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#9

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 20:17
Debugger

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Bestimmtes Zeichen aus Stringlist

  Alt 18. Okt 2007, 21:46
Ich konnte nichts finden...die Variablen stimmen alle

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:

List.Exchange(0, 1 + {Ziffer im Element mit dem Index 0 in der Schluessellist}); Ich versteh das nicht?!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 06:32 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