![]() |
string zerlegen/bearbeiten?
Hi!
Ich bekomme einen String von meiner Anwendung zurück, in dem Alle Laufwerke aneinander gereiht drin stehen. Jetzt würd ich diese gern trennen. D.h. Nach jeden Zeichen ein Leerzeichen bzw. ':\' Hatte schon gesucht, aber soganz geholfen hat mir nichts. :roll: Könnt mir da hier vielleicht jemand helfen? Greetz, |
Re: string zerlegen/bearbeiten?
Ok...das ich das richtig verstehen:
Du hast einen String "A:\B:\C:\D:\" und möchtest "A:\ B:\ C:\ D:\" ? |
Re: string zerlegen/bearbeiten?
nein ich bekomm z.B. den String 'ABCDEFGXYZ'
und will 'A:\ B:\ C:\ D:\..' und dann noch jeden Buchstaben einzeln in ner beliebigen Variable!? |
Re: string zerlegen/bearbeiten?
Zitat:
Möchtest du jeden Buchstaben einzeln zum Laufwerk machen? Dann kannst du doch einfach in ner Schleife deinen String Zeichen für Zeichen durchgehen und diesen mit angehängtem :\ ins Array schreiben. |
Re: string zerlegen/bearbeiten?
ok...die lösung:
Code:
function GenDriveList(AString:String):String;
const cTrenner = ':\ '; var I : Integer; //ein zähler... max: Integer; //Länge des Quellstrings; begin max := length(AString); //einmal feststellen reicht. result := ''; for I := 1 to max do result := result+Astring[i]+cTrenner; result := trim(result); //überflüssiges Leerzeichen am ende löschen end; |
Re: string zerlegen/bearbeiten?
Zitat:
[EDIT] Danke Ghostwalker, werd ich mir auch angucken. [/EDIT] |
Re: string zerlegen/bearbeiten?
Moin Zusammen,
und ab geht's nach "Sonstiges" ;-) |
Re: string zerlegen/bearbeiten?
schau dir mal das an:
Delphi-Quellcode:
procedure Laufwerke;
var Drives : array [1..255] of char; i : byte; Len : DWord; begin //Alle Laufwerke ermitteln Len:=GetLogicalDriveStrings(255,@Drives); for i:=1 to Len-2 do if (i mod 4)=1 then form1.lwwahl.AddItem(copy(Drives,i,3),form1.lwwahl); end; die ganze sache hab ich dann auch noch son erweitert, dass nur Festplatten ausgegeben werden
Delphi-Quellcode:
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
function festplatten:TStringList;
var Drives : array [1..255] of char; LWListe: TStringList; i : byte; Len : DWord; begin LWListe:=TStringList.Create; festplatten:=TStringList.Create; //Alle Laufwerke ermitteln Len:=GetLogicalDriveStrings(255,@Drives); for i:=1 to Len-2 do if (i mod 4)=1 then LWListe.Add(copy(Drives,i,3)); //Alle Festplatten ermitteln for i:=0 to LWListe.Count-1 do begin if GetDriveType(pchar(LWListe.strings[i]))=DRIVE_FIXED then festplatten.Add(LWListe.Strings[i]) end; end; |
Re: string zerlegen/bearbeiten?
Nur so wie er oben schriebt, bekommt er ja den string und hat keinen Einfluß auf die Laufwerksuchenprocedure. Andernfalls ist der Weg im Prinzip natürlich gut.
@ Remote1: Wäre nett, wenn du die Delphi Code Tags benutzt. Damit läßt sich der Code leichter lesen. |
Re: string zerlegen/bearbeiten?
Cool danke Remote, probier ich aus.
Danke für eure Zahlreichen Tips! :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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