Autor Beitrag
arminho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Do 17.03.05 13:11 
Hallo Leute, habe ein Problem beim laden einer txt-datei in ein Stringgrid. Unswar habe ich den Teil blau markiert, der mir Probleme macht (zur Sicherheit mal die ganze Prozedur eingefügt)... Ich will dass er mir im Stringgrid soviele Zeilen einfügt, wie er aus der Datei ab Zeile 88 zählt... bisher fügt er mir alle Zeilen ein, und löscht den Inhalt der vorherigen 87.
Die Datei hat also einige Zeilen mehr und ich will dass er erst ab 88 anfängt zu zählen und dann genauso viele Zeilen ins Stringgrid macht und dann natürlich den Inhalt einfügt. Hoffe ihr habt das einigermaßen verstanden, ist bisschen schwer zu erklären.
Habe es mal mit einer for schleife versucht indem ich ihm gesagt hab dass er die zeilen 0 bis 87 erst löschen soll... hat aber nicht hingehauen. also hoffe jemand kann mir helfen. danke




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:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
procedure TForm1.Image1Click(Sender: TObject);
var
G       : textfile;
s       : string;
NewItems: TStringList;
I       : Integer;
TeilString  : String;
p           : Integer;
j         : Integer;
begin
opendialog1.filename:='*.clb';
opendialog1.filter  :='Clubdaten|*.clb';
if opendialog1.execute then
begin
assignfile(G,opendialog1.filename);
  try
    reset(G);
    if not eof(G) then
begin
        readln(G,s);
        label21.caption:=s;
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form3.memo1.lines.Clear;
        form3.memo1.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form3.memo2.lines.clear;
        form3.Memo2.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form4.memo1.lines.clear;
        form4.Memo1.lines.add(s);
        readln(G,s);
        form4.Memo1.lines.add(s);
        readln(G,s);
        form4.Memo1.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form4.memo2.lines.clear;
        form4.Memo2.lines.add(s);
        readln(G,s);
        form4.Memo2.lines.add(s);
        readln(G,s);
        form4.Memo2.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form4.memo3.lines.clear;
        form4.Memo3.lines.add(s);
        readln(G,s);
        form4.Memo3.lines.add(s);
        readln(G,s);
        form4.Memo3.lines.add(s);
        readln(G,s);
        form4.Memo3.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form5.memo1.lines.clear;
        form5.Memo1.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form5.memo2.lines.clear;
        form5.Memo2.lines.add(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form6.edit1.text:=(s);
        readln(G,s);
        form6.edit2.text:=(s);
        readln(G,s);
        form6.edit3.text:=(s);
        readln(G,s);
        form6.edit4.text:=(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form8.edit1.text:=(s);
        readln(G,s);
        form8.edit2.text:=(s);
        readln(G,s);
        form8.edit3.text:=(s);
        readln(G,s);
        form8.edit4.text:=(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form6.edit5.text:=(s);
        readln(G,s);
        form6.edit6.text:=(s);
        readln(G,s);
        form6.edit7.text:=(s);
        readln(G,s);
        form6.edit8.text:=(s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        readln(G,s);
        form8.edit5.text:=(s);
        readln(G,s);
        form8.edit6.text:=(s);
        readln(G,s);
        form8.edit7.text:=(s);
        readln(G,s);
        form8.edit8.text:=(s);




        end;
  finally
    closefile(G);
end;
end;

begin
  NewItems := TStringList.Create;
  try
    with TStringList.Create do  
      try  
        LoadFromFile(ExtractFilePath(ParamStr(0)) + 'clubdatei.clb');
        for I := 88 to Count - 1 do
          NewItems.Add(Copy(Strings[I], 1, Pos(#32, Strings[I])));  
      finally  
        Free;  
      end;
      with Form10 do  
      begin  
        ComboBox1.Items.AddStrings(NewItems);
        ComboBox2.Items.AddStrings(NewItems);
        ComboBox3.Items.AddStrings(NewItems);
        ComboBox4.Items.AddStrings(NewItems);
        ComboBox5.Items.AddStrings(NewItems);
        ComboBox6.Items.AddStrings(NewItems);
        ComboBox7.Items.AddStrings(NewItems);
        ComboBox8.Items.AddStrings(NewItems);
        ComboBox9.Items.AddStrings(NewItems);
        ComboBox10.Items.AddStrings(NewItems);
        ComboBox11.Items.AddStrings(NewItems);
        ComboBox23.Items.AddStrings(NewItems);
        ComboBox24.Items.AddStrings(NewItems);
        ComboBox25.Items.AddStrings(NewItems);
        ComboBox26.Items.AddStrings(NewItems);
        ComboBox27.Items.AddStrings(NewItems);
        ComboBox28.Items.AddStrings(NewItems);
        form11.ComboBox23.Items.AddStrings(NewItems);
        form11.ComboBox1.Items.AddStrings(NewItems);
        form11.ComboBox2.Items.AddStrings(NewItems);
        form11.ComboBox3.Items.AddStrings(NewItems);
        form11.ComboBox4.Items.AddStrings(NewItems);
        form11.ComboBox5.Items.AddStrings(NewItems);
      end;
  finally  
    NewItems.Free;  
  end;
  end;
  begin
  <span style="color: blue">if FileExists(ExtractFilePath(ParamStr(0)) + 'clubdatei.clb'then begin // Datei vorhanden?
    NewItems := TStringList.Create; // Listen-Objekt erzeugen
    NewItems.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'clubdatei.clb'); // Datei einlesen
    form12.StringGrid1.RowCount := NewItems.Count-1// Zeilenzahl des Stringgrids festlegen
    form12.StringGrid1.ColCount := 27// Spaltenzahl des Stringgrids festlegen (habe einfach mal in der Datei nachgesehen)</span>
    // Titel-Felder feststellen und eintragen
    s := Trim(NewItems.Strings[0]); // Arbeitsstring
    for j := 0 to form12.StringGrid1.ColCount-1 do begin // Schleife für die Spalten
      p := Pos(' ', s); // Position des Leerzeichens feststellen
      TeilString := Copy(s, 1, p); // TeilString auslesen
      form12.StringGrid1.cells[j, 0] := TeilString; // TeilString ins Grid eintragen
      system.Delete(s, 1, p); // TeilString aus dem Arbeitsstring entfernen
      s := Trim(s); // Leerzeichen vorne und hinten löschen
    end;
    form12.StringGrid1.cells[form12.StringGrid1.ColCount-10] := s; // Letzte Spalte füllen

    // Jetzt das Ganze nochmal für die Inhalte
    for I := 88 to NewItems.count - 1 do begin // Schleife für die Zeilen
      s := Trim(NewItems.Strings[I]);
      for j := 0 to form12.StringGrid1.ColCount-1 do begin // Schleife für die Spalten
        p := Pos(' ', s);
        TeilString := Copy(s, 1, p);
        form12.StringGrid1.cells[j, i-1] := TeilString;
        system.Delete(s, 1, p);
        s := Trim(s);
      end;
      form12.StringGrid1.cells[form12.StringGrid1.ColCount-1, i-1] := s;
    end;

    newitems.free; // Objekt frei geben
  end
  else begin
    ShowMessage('Datei nicht gefunden.'); // Fehlermeldung
  end;
end;
end;
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Do 17.03.05 16:38 
Versuch mal:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
NewItems := TStringList.Create;
NewItems.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'clubdatei.clb'); 
for i := 0 to 87 do NewItems.Delete(i);
with Forms.......

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
arminho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 18.03.05 19:30 
geht nicht weil die zeilen doch aufrücken wenn man eine löscht...