![]() |
AW: ListBox und array
Zitat:
Danke für dein Beispiel. Werde damit mal Arbeiten . gruss |
AW: ListBox und array
Zitat:
Es hat auch nichts mit dem Einlesen der TextDatei zu tun sondern damit Das in der Liste eingelesenen Array so einfach wie möglich zu bedienen, Sample! Hoffe du verstehst jetzt. Ich klicke in meine ListBox abhängig vom Index (Selektierter eintrag) Möchte ich 2 Funktionen ausführen.
Delphi-Quellcode:
verstehst?
SetCTRL(32, ListView1.SelectedItem.SubItems(1), Channel)
SetINST(ListView1.SelectedItem.SubItems(2), Channel) Subitem 1 = 18 Subitem 2 = 0 Nicht mehr oder weniger will ich erreichen Ohne die Datei oder Zeile nochmal parsen zu müssen. Und so wie es aussieht ist es genau das was Jürgen eingebracht hat. gruss |
AW: ListBox und array
jo, und da hast Du uns nicht verstanden.
Egal ob in Listview oder Array oder Record. Einmal einlesen und dann mit den indizen arbeiten. Ein nochmaliges einlesen war auch bei uns nicht vorgesehen. :wink: alfold |
AW: ListBox und array
Zitat:
Daher mache ich es mit einem Dynamischen Array und gut ist. gruss |
AW: ListBox und array
Zitat:
alfold |
AW: ListBox und array
Zitat:
gruss |
AW: ListBox und array
Hallo Emil,
Zitat:
Da ich nicht weiß was bei dir nicht funktioniert hat hilft dir evtl. das hier noch?
Delphi-Quellcode:
Gruss Jürgen
sl.StrictDelimiter := TRUE;
|
AW: ListBox und array
Nur nochmal zur Information!
Das wollte ich mir sparen..
Delphi-Quellcode:
type
TSplitStrArray = array of string;
Delphi-Quellcode:
function Split(const Source, Delimiter: string): TSplitStrArray;
var spCount: integer; spPos: integer; spLength: integer; sTemp: string; aSplit: TSplitStrArray; begin sTemp := Source; spCount := 0; spLength := Length(Delimiter) - 1; repeat spPos := Pos(Delimiter, sTemp); if spPos = 0 then break else begin Inc(spCount); SetLength(aSplit, spCount); aSplit[spCount - 1] := Copy(sTemp, 1, spPos - 1); Delete(sTemp, 1, spPos + spLength); end; until False; if Length(sTemp) > 0 then begin Inc(spCount); SetLength(aSplit, spCount); aSplit[spCount - 1] := sTemp; end; Result := aSplit; end;
Delphi-Quellcode:
case LoWord(wp) of
ID_INSTRUMENTLIST: begin nItem := InstrumentList.ListGetCurSel(lP); InstrumentList.ListSelectPlus(lP, nItem); tmpStr := Split(InstArrayList[nItem],','); SetController(32, StrToInt(tmpStr[1]), Channel); SetInstrument(StrToInt(tmpStr[2]), Channel); SKAERO_UpdateWindow(lP, False); end; Das hätte man einfacher haben können mit einer Simplen List die Subitems versteht. gruss |
AW: ListBox und array
Zitat:
Das alles wollte ich mir mit einer einfachen Liste sparen die SubItems versteht. Irgendwie hat mich bis auf dich niemand so recht verstanden. Das war doch eine ganz einfache Frage ?? gruss |
AW: ListBox und array
Das was du willst haben wir schon verstanden.
Nur ne einfache null Lösung aus einer Textdatei Zeile, ohne Aufwand Subitems zu machen gibt es nicht. Woher soll denn auch ein Array oder TStringlist wissen wie wo welche subitems wo wie stehen. Das sogenannte zuordenen in ein Array oder List must Du natürlich selber machen. Wie gross der Aufwand wird hängt davon ab wie viele Trenner du im String selbst benutzt! Noch mal mein Beispiel: G:\Musik\PLAYER1\02 Begin.wav=02 Begin;10;0,00;0,00;0;0;0;0;0;1 Ich habe hier als Value, 9 ';' als trenner. Also muss ich beim auslesen auch 9 mal diesen Trenner finden! Entweder mit Posex (ist nicht gerade effektiv) oder ich lese Value noch mal in eine TStringlist mit DelimtedText und kann nun auf die indizen Über den index zugreifen. Wobei das letztere natürlich einfacher ist. alfold |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 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