Autor Beitrag
headake
Hält's aus hier
Beiträge: 3

WIN 2000, WIN XP
D4 (noch)
BeitragVerfasst: Mi 16.07.03 23:39 
Hi,

mein Chef hat mir vor 2 Tagen ne "kleine" Programmieraufgabe gegeben, ich sollte doch bitte folgendes Programmieren:

Ein Programm, welches eine excel-Datei einliesst und diese in einer Formularmaske ausgibt. Anschliessend sollen diese Daten in eine Datenbank gespeichert werden.

------------------------------------------------------------------------------
* Die Datei ist wie folgt aufgebaut:

"Name";"Adresse";"PLZ,Ort";"Telefonnummer";"Seriennummer"

Der komplette String liegt in einer Zelle.
------------------------------------------------------------------------------

Nun habe ich aber weder Ahnung von Daten-import noch von Datenbanken. Ich müsste nun wissen was ich für solch ein Programm alles brauche. Mit welchem Befehl lese ich die Daten ein, die Ausgabe könnt ich selbst packen. Wie speicher ich den ganzen Kram dann in eine Datenbank, welche Datenbank benötige ich?

Ich hoffe ihr könnt mir helfen :)
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Do 17.07.03 08:45 
Hallo!

Das Einlesen der Daten sollte eigentlich kein Problem sein wenn diese in der Form vorliegen wie du gesagt hast. Am besten du liest die ganze Datei in einer Suche in: Delphi-Forum, Delphi-Library TSTRINGLIST ein. Dann gehst du jede Zeile durch und zeigst sie auf deinem Form an.

Um die einzelnen Werte, die sich in jeder Zeile befinden, zu bekommen kannst du die Funktion Explode benutzen.

Frag deinen Chef mal wo genau er die Daten hin haben möchte. Also welche Datenbank.

Gruß
Tino
headake Threadstarter
Hält's aus hier
Beiträge: 3

WIN 2000, WIN XP
D4 (noch)
BeitragVerfasst: Do 17.07.03 09:17 
Soweit ich weiss soll ich wohl firebird als DB benutzen ... weil die wohl einige Funktionen mehr als Interbase hat? Ich denke mal SQL o. MySQL gehen sicher auch ... jommt wohl eher auf die Funktionalität an. Allerdings sollen die daten in einer *.GDB auf einem Server im NW gespeichert werden und von einem Client aus bearbeitet werden.
Ich hab allerdings keine Ahnung wie genau ich daten in eine Datenbank speichere ... die Delhpi-Hilfe hat soviel zu Datenbanken dass ich noch weniger weiss als vorher was ich für mein Projekt brauche :?


Mit dem Befehl TSTRINGLIST muss ich mich mal auseinander setzen und mal gucken wie weit ich komme. Aber danke schonmal ... damit kann ich schonmal zu Arbeiten anfangen.


PS: Ich hab mich mal ran gesetzt, allerdings scheints wohl doch koplizierter zu sein als ich dachte.
Geh ich richtig in der Annahme dass ich für das einlesen ins Array auch Zeiger brauche? Oder wie schreibe ich die einzelnen Datensätze, durch ";" getrennt, ins array?
Wie die Funktion TSTRINLIST arbeitet ist mir völlig einleuchtend, allerdings tue ich mich sehr schwer das ganze in einer Syntax aufzubauen (haben Delphi bisher nur ein wenig in der Berufsschule gemacht).
MAlsleben
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

W2k,WinXP
D3 - DXE3 Enterprise
BeitragVerfasst: Do 17.07.03 13:34 
Hi,

kommt darauf an, mit welcher Delphi Version Du das erledigen willst. Bei Delphi 4 bleibt Dir nur die BDE übrig. Da ist ein Datenimport aber auch relativ einfach.

Du nimmst eine Table Komponete für die ASCII Datei und eine für die Interbase - Tabelle. Mit Hilfe der BatchMove- Komponete kannst Du dann die Daten importieren. Für die ASCII Datei mußt Du nur noch eine Struktur -Datei mit gleiche Namen und der Endung "sch" haben.
Die Beschreibung muß in etwa so aussehen:

[CUSTOMER] // File name with no extension.
FILETYPE = VARYING // Format: VARYING or FIXED
CHARSET = ascii // Language driver name.
DELIMITER = " // Delimiter for char fields.
SEPARATOR = , // Separator character
Field1 = Name,CHAR,12,0,0 // Field information
Field2 = Salary,FLOAT,8,2,12

Mehr dazu findest du in der bde32.hlp unter dem Index "text tables, binding external schema"

Gruß Micha

_________________
Viele Wege führen nach Rom.
headake Threadstarter
Hält's aus hier
Beiträge: 3

WIN 2000, WIN XP
D4 (noch)
BeitragVerfasst: Do 17.07.03 15:54 
Hab mir mal überlegt alles Schrittweise zu machen, ist besser so!

Ich bin jetzt schn soweit dass ich den String einlesen und in einem Memo-Feld ausgeben kann.

Nun soll der String jedoch zerlegt werden (, als Trennzeichen). Ich weis jedoch nicht welche Methode am besten dafür geeignet ist. Ein Kollege meinte ich solle den String in ein Objekt (VAR) übergeben und dann auslesen. Aber ich scheiter schon daran den String an die Variable zu übergeben. Wie ich den String dann noch zerlegen soll weis noch weniger :oops:
Welche Methode soll ich dafür verwenden? Wie setze ich die beschr. Methode um?
Es soll im Endeffekt so aussehen, dass dieser String in "lesbare" Form gebracht wird, also so:

String:
ausblenden Quelltext
1:
name,"adresse","PLZ/Ort","Telefon"...					


So solls werden
ausblenden Quelltext
1:
2:
3:
4:
5:
Name
Adresse
PLZ/Ort
Telefon
...


Es würde erstmal reichen die leserliche Form in einem Memo-Feld auszugeben. Allerdings soll das Ganze dann später in einz. Edit-Feldern ausgegeben werden und anschl in eine DB gesp. werden (aber dazu komm ich noch).

Wenn ihr mir weiterhin helfen könntet wäre super, is nicht leicht als Programmieranfänger gleich sowas umzusetzen :(

PS: Schaut euch den link mal an, hab das Comp. Prog und das Projekt mal als Zip hochgeladen, da könnt ihr ja mal schauen was ich bisher gewerkelt hab :D
(eine Beispiel.csv ist enthalten)

Comp. Programm

Ges. Projekt