Autor Beitrag
Matzespens
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22


Delphi 7 Enterprise
BeitragVerfasst: Di 06.01.04 00:08 
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

_________________
Es gibt Momente im Leben, in denen mystische Gedankengänge die Darstellung elementarer Dinge herbeiführen können. :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.01.04 02:53 
Delphi -> Hilfe -> Pos / PosEx.
Matzespens Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22


Delphi 7 Enterprise
BeitragVerfasst: 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

_________________
Es gibt Momente im Leben, in denen mystische Gedankengänge die Darstellung elementarer Dinge herbeiführen können. :)
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: 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.
ausblenden 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.

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Di 06.01.04 12:19 
Matzespens Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22


Delphi 7 Enterprise
BeitragVerfasst: Di 06.01.04 15:21 
Titel: Danke
Danke der Tip www.swissdelphicente...showcode.php?id=1326
war SUPER. Jetzt käuft es so wie ich es wollte.

Gruß

Matze

_________________
Es gibt Momente im Leben, in denen mystische Gedankengänge die Darstellung elementarer Dinge herbeiführen können. :)