Autor Beitrag
chimera
Hält's aus hier
Beiträge: 13

win 2000, Win Xp
D5 prof, D7 prof, D8 archi
BeitragVerfasst: Do 30.12.04 11:08 
hallo
erstmal entschuldigt die formolierung des themas aber ich wußte nicht wie ich es sonst schreiben sollte! :oops:

So und jetzt zu meinem Problem:
ich habe mit delphi 5 ein kleines Programm geschrieben das daten aus einer text datei in eine paradox tabelle schreibt.
jetzt hab ich aber das problem das da auf einmal zeichen eingelesen werden die gar net da sind und jedesmal wenn ich die daten neu einlese werden andere zeichen eingelesen total komisch!! Nun die frage kann ich das irgendwie unterbinden das er nur die zeichen einliest die er soll, in der spalte wo das so oft vorkommt werden zum größten teil keine zeichen also leerzeichen aber da ich nicht weiß wie ich das machen kann das er die leerzeichen nicht einliest weiß ich auch nicht wie man das macht das er keine zeichen einliest die da gar nicht sind :shock: ?

mfg
die chim
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Do 30.12.04 12:13 
Hallo chimera,

wie liest du denn die Daten ein? Zeige doch einmal etwas Quellcode.

_________________
Live long and prosper
MrSpock \\//
chimera Threadstarter
Hält's aus hier
Beiträge: 13

win 2000, Win Xp
D5 prof, D7 prof, D8 archi
BeitragVerfasst: Do 30.12.04 12:17 
mein quellcode:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
procedure TForm1.Button1Click(Sender: TObject);
var f: TextFile;
    s: string;
    f1: Textfile;
    s1: string;
begin
  AssignFile(f,'c:\texte\gross.txt');
  AssignFile(f1,'c:\texte\ETIKETT.TXT');
  {$i-}
    reset(f);
    reset(f1);
  {$i+}
   tbl_gross.close;
   tbl_gross.emptytable;
   tbl_gross.open;
   tbl_etikett.close;
   tbl_etikett.EmptyTable;
   tbl_etikett.open;
   
  If IOResult <> 0 then begin
  showmessage('Fehler bei Datei gross.txt oder ETIKETT.txt');
  end;

  while not EOF(F) do begin
   ReadLn(F,s);
   tbl_gross.append;
   tbl_grosskunde.asstring :=s[1]+s[2]+s[3]+s[4]+s[5]+s[6];
   tbl_grossauftragsnummer.asstring :=s[8]+s[9]+s[10]+s[11]+s[12]+s[13];
   tbl_grossNR1.asstring :=s[15]+s[16]+s[17]+s[18]+s[19];
   tbl_grossNR2.asstring :=s[21]+s[22]+s[23]+s[24]+s[25];
   tbl_grossDATUM.asstring :=s[27]+s[28]+s[29]+s[30]+s[31]+s[32];
   tbl_gross.post;
  end;
     closefile(f);

    while not EOF(F1) do begin
      Readln(F1,s1);
      Tbl_etikett.Append;
      tbl_etikettartikelnummer.AsString :=s1[1]+s1[2]+s1[3]+s1[4]+s1[5]+s1[6]+s1[7]+s1[8]+s1[9]+s1[10]+s1[11]+s1[12]+s1[13]+s1[14]+s1[15]+s1[16]+s1[17]+s1[18]+s1[19]+s1[20];
      tbl_etikettauftrn.asstring :=s1[21]+s1[22]+s1[23]+s1[24]+s1[25]+s1[26];
      tbl_etikettmenge.asstring :=s1[30]+s1[31]+s1[32]+s1[33]+s1[34];
      tbl_etikettpos.asstring :=s1[37]+s1[38]+s1[39];
      tbl_etikettgespos.asstring :=s1[41]+s1[42]+s1[43]+s1[44]+s1[45]+s1[46];
      tbl_etikettLAGERORT.AsString :=s1[48]+s1[49]+s1[50]+s1[51]+s1[52]+s1[53];
      tbl_etikettDEBITOR.AsString :=s1[55]+s1[56]+s1[57]+s1[58]+s1[59]+s1[60];
      tbl_etikettLISTENNR.AsString := s1[63];
      tbl_etikettDG.AsString := s1[65]+s1[66];
      tbl_etikettDATUM.AsString :=s1[68]+s1[69]+s1[70]+s1[71]+s1[72]+s1[73];
      tbl_etikettNUMMER.AsString :=s1[77]+s1[78]+s1[79]+s1[80]+s1[81];
      tbl_etikettINFO.AsString := s1[84];
      tbl_etikettLIEFERTERMIN.AsString := s1[86];
      tbl_etikett.post;
     end;

  closefile(f1);

end;


Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
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 30.12.04 12:34 
Hallo!

Benutze mal die Funktion Copy() um Teile aus der Variable S herauszuholen:

Also statt:
ausblenden Delphi-Quelltext
1:
2:
tbl_grosskunde.asstring :=s[1]+s[2]+s[3]+s[4]+s[5]+s[6];
tbl_grossauftragsnummer.asstring :=s[8]+s[9]+s[10]+s[11]+s[12]+s[13];

machst du das mal so:
ausblenden Delphi-Quelltext
1:
2:
tbl_grosskunde.asstring := Copy (s, 16);
tbl_grossauftragsnummer.asstring := Copy (s, 86);

Vielleicht waren die Strings einfach nicht so lang wie du es vorraussetzt und somit wurden dann diese "komischen" Zeichen angezeigt.

Gruß
Tino
chimera Threadstarter
Hält's aus hier
Beiträge: 13

win 2000, Win Xp
D5 prof, D7 prof, D8 archi
BeitragVerfasst: Do 30.12.04 12:36 
vielen dank
ich werds mal versuchen!!! :D
chimera Threadstarter
Hält's aus hier
Beiträge: 13

win 2000, Win Xp
D5 prof, D7 prof, D8 archi
BeitragVerfasst: Do 30.12.04 12:51 
es funzt
danke noch mal!!
:D :D
___________
wünsche einen guten rutsch ins jahr 2005!!