Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Leerzeichen zwischen einem String auswerten
Matzespens - Di 06.01.04 00:08
Titel: Leerzeichen zwischen einem String auswerten
Hallo Leute,
ich habe da ein Problem was wahrscheinlich selten bis noch gar nicht aufgetaucht ist - oder auch doch?
Ich habe für einen Bekannten eine Datenbank geschrieben in der er seine Kontakte zu anderen Funkamateuren archivieren und pflegen kann. (MyBase)
Allerdings hatte er schon eine Liste in EXcel erstellt. So weit noch kein Problem. Habe auch eine Funktion gefunden um eine EXcel Tabelle in meine Datenbank einzulesen. ABER: seine EXcel Liste (besteht aus weit über 8000 Einträgen) ist leider nicht wie eine Tabelle aufgebaut sondern es stehen mehrere Einträge in einer Zeile. Jeder Eintrag ist durch ein Leerzeichen getrennt.
Jetzt meine Frage:
Wie kann ich in einem String Leerzeichen ausfindig machen und so nutzen, dass ich nach jedem Leerzeichen eine neue Zuweisung beginne.Also so z.B.
Eintrag in Excel:
a2bns 20.09.2001 ab/erh
Zuweisung in Delphi:
dbedit1.text := stringgrid1.cells[1,1] //aber nur den String a2bns ohne den Rest. und dann...
dbedit2.text := stringgrid1.cells[1,1] //jetzt den zweiten Teil also den nach dem ersten Leerzeichen.
Ich hoffe es ist einigermaßen klar was ich brauche.
Eine Trennung des Strings nach jedem Leerzeichen.
Ich wäre sehr sehr dankbar für nen guten Ratschlag.
Mfg
Matze
Delete - Di 06.01.04 02:53
Delphi -> Hilfe -> Pos / PosEx.
Matzespens - Di 06.01.04 09:56
Titel: String aufteilen
Hallo,
erst mal vielen dank für die schnelle Antwort.
Aber mit POs oder POsEx kann ich doch nur die Leerzeichen mit anderen Zeichen auffüllen oder habe ich das falsch verstanden?
Ich möchte doch aber den String aufteilen und den Rest in eine andere Variable oder ein anders Textfeld schreiben.
Mit POs gibt er mir bei z.B abcs 28.07.2001 nur folgendes aus:
abcs00028.07.2001 -> die Nullen kann ich im Quelltext ja durch beliebig andere Zeichen ersetzen.
gruß
Matze
Wolff68 - Di 06.01.04 12:17
Was hast Du denn für eine komische Pos-Funktion ??
| Delphi-Hilfe hat folgendes geschrieben: |
| Die Funktion Pos gibt den Indexwert des ersten Zeichens innerhalb des angegebenen Teil-Strings zurück, der in einem String vorkommt. |
Delphi-Quelltext
1:
| Pos(' ','abcs 28.07.2001') = 5 |
Ich an Deiner Stelle würde die Excel-Tabelle erst mal als ; getrenntes Textfile abspeichern.
; deshalb, weil Du damit ein gewisses Grundraster erhälst und Dir ein "Herbert von Wasweisich" mit 2 Leerzeichen in der Zelle nicht alles durcheinander bringt.
Danach kannst die Strings erst mal an den ; auftrennen und danach nochmal an den Leerzeichen.
Falls die Tabelle wirklich sauber ist kannst auch einfach ein
Memo1.Text := StringReplace(Memo1.Text,' ',';',[rfReplaceAll]);machen. Damit ersetzt Du alle Leerzeichen mit einem ; Das Ergebnis kannst dann wieder in Excel laden und hast je ; eine neue Spalte.
Eventuelle Verschiebungen kannst dann in Excel durch löschen einzelner Zellen bereinigen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!