AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CSV auslesen in EDIT eintragen

Ein Thema von Knotti2005 · begonnen am 10. Nov 2005 · letzter Beitrag vom 11. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#1

CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 16:38
Hallo Leute,

wie ihr wisst bin ich Anfänger und hab da ein paar Fragen...



Währe nett wenn ihr gleich mit Code Beispielen antworten könntet...

Ich habe hier eine Form mit 6 Edit Buttons in diese soll per Zufallsgenerator Namen
aus 2 csv dateien (jeweils 3 stück in jeder Zeile einer) eins pro Edit Feld eingefügt werden.

Gibt es dafür eien Möglichkeit, Ideen?

Danke schoneinmal...




Kurzgesagt 2 CSV Dateien auslesen und Namen per Zufall eintragen...


  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#2

Re: CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 17:07
also...

such mal nach "explode"

dann:
Delphi-Quellcode:
var T: TStringDynArray;
    F, F2: TStringList;
    i:Integer;
begin
  F:=TStringList.Create;
  F.LoadFromFile('Datei');
  F2:=TStringList.Create;
  F2.LoadFromFile('Datei2');
  F2.AddStrings(F);
  F.Clear;
  for i:=0 to F2.Count-1 do
    begin
    T:=explode(',',F2[i]);
    F.Add(T[0]);
    F.Add(T[1]);
    end;
  F2.Free;
end;
das sollte alle Namen aus zwei Dateien holen, wenn die beide folgendes Format haben:
Name 1,Name 2

und danach in F stehen

Die zufällig auslesen geht so:
EditX.Text:=F[Random(F.Count)];
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#3

Re: CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 17:44
Erzeugen
[Fehler] Unit1.pas(30): Undefinierter Bezeichner: 'TStringDynArray'
[Warnung] Unit1.pas(47): FOR-Schleifenvariable muss eine einfache lokale Variable sein
[Fehler] Unit1.pas(49): Undefinierter Bezeichner: 'explode'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
...

Will euch ja nicht Nerven knnt ihr mir nocheinmal helfen...
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#4

Re: CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 17:47
Schau dir mal das an: explode()
Dominik Peters
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#5

Re: CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 20:12
Zitat von Knotti2005:
Erzeugen
[Fehler] Unit1.pas(30): Undefinierter Bezeichner: 'TStringDynArray'
[Warnung] Unit1.pas(47): FOR-Schleifenvariable muss eine einfache lokale Variable sein
[Fehler] Unit1.pas(49): Undefinierter Bezeichner: 'explode'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
...

Will euch ja nicht Nerven knnt ihr mir nocheinmal helfen...
Zitat von glkgereon:
such mal nach "explode"

dann:
immer schön der Reihenfolge nach
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#6

Re: CSV auslesen in EDIT eintragen

  Alt 10. Nov 2005, 21:32
so richtig blick ich da nett durch...

Ich hab jetzt alle Fehlermeldungen weg außer

Undifinierter Bezeichner: Explode

    T:=explode(',',F2[i]);
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#7

Re: CSV auslesen in EDIT eintragen

  Alt 11. Nov 2005, 18:09
Also ich hab mir selbst geholfen...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var CSVDatei : TStringList;
begin
  randomize;
  CSVDatei := TStringList.Create;
  CSVDatei.LoadFromFile('c:\mycdsdatei.cvs');
  Edit1.Text := CSVDatei[random(CSVDatei.Count)];
  Edit2.Text := CSVDatei[random(CSVDatei.Count)];
  Edit3.Text := CSVDatei[random(CSVDatei.Count)];
  Edit4.Text := CSVDatei[random(CSVDatei.Count)];
  Edit5.Text := CVVDatei[random(CSVDatei.Count)];
  Edit6.Text := CSVDatei[random(CSVDatei.Count)];
  CSVDatei.Free;
end;
Nun diese Beispiel ist für nur eine Datei wie bringe ich es dazu 2 Dateien auszulesen. Die Namen sollen in die Edit Felder aber nicht doppelt erscheinen.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#8

Re: CSV auslesen in EDIT eintragen

  Alt 11. Nov 2005, 18:15
Zitat von Knotti2005:
Also ich hab mir selbst geholfen...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var CSVDatei : TStringList;
begin
  randomize;
  CSVDatei := TStringList.Create;
  CSVDatei.LoadFromFile('c:\mycdsdatei.cvs');
  Edit1.Text := CSVDatei[random(CSVDatei.Count)];
  Edit2.Text := CSVDatei[random(CSVDatei.Count)];
  Edit3.Text := CSVDatei[random(CSVDatei.Count)];
  Edit4.Text := CSVDatei[random(CSVDatei.Count)];
  Edit5.Text := CVVDatei[random(CSVDatei.Count)];
  Edit6.Text := CSVDatei[random(CSVDatei.Count)];
  CSVDatei.Free;
end;
Nun diese Beispiel ist für nur eine Datei wie bringe ich es dazu 2 Dateien auszulesen. Die Namen sollen in die Edit Felder aber nicht doppelt erscheinen.
Delphi-Quellcode:
var F, F2: TStringList;
    i, ID:Integer;
begin
  F:=TStringList.Create; //Datei 1
  F.LoadFromFile('Datei');
  F2:=TStringList.Create; //Datei 2
  F2.LoadFromFile('Datei2');
  F.AddStrings(F2); //Zusammenführen
  F2.Free; //Datei 2 kann weg
  for i:=1 to 6 do //für 6 Edits
    begin
    ID:=Random(F.Count); //Index raussuchen
    TEdit(FindComponent('Edit'+IntToStr(i))).Text:=F[ID]; //Text in Edit
    F.Delete(ID); //Text auf SL löschen
    end;
  F.Free;
end;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Knotti2005

Registriert seit: 10. Nov 2005
275 Beiträge
 
#9

Re: CSV auslesen in EDIT eintragen

  Alt 11. Nov 2005, 20:03
Ich hoffe ich nerve nicht..

Ich habe nun 24 Editboxen...

Aber immernoch 6 Namen pro 2 Dateien...

Delphi-Quellcode:
//hab ich ersetzt
 for i:=1 to 24 do //für 24 Edits

Nun bekomme ich beim Ausführen

Listenindex überschreitet das Maximum...
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#10

Re: CSV auslesen in EDIT eintragen

  Alt 11. Nov 2005, 20:06
Zitat von Knotti2005:
Ich hoffe ich nerve nicht..

Ich habe nun 24 Editboxen...

Aber immernoch 6 Namen pro 2 Dateien...

Delphi-Quellcode:
//hab ich ersetzt
 for i:=1 to 24 do //für 24 Edits

Nun bekomme ich beim Ausführen

Listenindex überschreitet das Maximum...
Klasse.

Du willst 12 Namen auf 24 Edits aufteilen, und nichts darf doppelt vorkommen?



Wenns doppelt sein darf, einfach
F.Delete(ID); //Text auf SL löschen
rausnehmen
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz