ich habe zum speichern meiner projektdaten im css-maker 2 folgende proceduren zum speichern und öffnen erstellt. nun habe
ich bei jedem update, jeder kleinen veränderung das problem, dass ich diese 2 routinen anpassen muss. damit habe ich
desweiteren das problem, dass die projektdateien nicht zur neuesten programmversion kompatibel sind. sollte es
erforderlich sein, weitere beschreibungen zu liefern, bin ich gern bereit sourcen zu senden.
//wenn ich im menü auf open klicke rufe ich diese procedure auf, die dann noch open projekt aufruft
ich habe zum speichern meiner projektdaten im css-maker 2 folgende proceduren zum speichern und öffnen erstellt. nun habe ich bei jedem update, jeder kleinen veränderung das problem, dass ich diese 2 routinen anpassen muss. damit habe ich desweiteren das problem, dass die projektdateien nicht zur neuesten programmversion kompatibel sind. sollte es erforderlich sein, weitere beschreibungen zu liefern, bin ich gern bereit sourcen zu senden.
//wenn ich im menü auf open klicke rufe ich diese procedure auf, die dann noch open projekt aufruft
procedure TTablemaker_Haupt.aufmachen(Sender: TObject);
var
str1:TStringlist;
begin
begin
//Datei-Inhalt einlesen
str1 := TStringlist.Create;
str1.Loadfromfile(Dateiname);
Tabstring := str1.text;
str1.free;
//Listboxen löschen
List_org.Clear;List_new.Clear;List_xml.Clear;
List_new_class.Clear;List_own.Clear;List_xms.Clear ;
end;
Openproject(sender);
end;
procedure TTablemaker_Haupt.OpenProject(Sender: TObject);
var
m,k,i,posi:integer;
inhalt:string;
org,new,cla,own,xml,xms,indi:integer;
begin
Optionen.Memo1.Clear;
//Lesen
m:=1;
for k:=0 to 49 do
begin
for i:= 0 to 44 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid1.Cells[i,k]:=inhalt;
end;
end;
//m:=1001 alt; 2251 neu
for k:=0 to 49 do
begin
for i:= 0 to 19 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid2.Cells[i,k]:=inhalt;
end;
end;
//m:=1001 alt; 2251 neu
for k:=0 to 10 do
begin
for i:= 0 to 3 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid3.Cells[i,k]:=inhalt;
end;
end;
//m:=2001;
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
//m:=2002;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
new:=strtoint(inhalt);
//m:=2003;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
cla:=strtoint(inhalt);
//m:=2004;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
own:=strtoint(inhalt);
end;
// und nun die posis von org bis own auswerten
//listinhalt von org 14 ist die derzeitge anzahl des counts
org:= (counting - new) + 3299; //alt3255
for i:= 3299 to org do //alt 2005 neu
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
List_org.Items.Add(inhalt)
ich bei jedem update, jeder kleinen veränderung das problem, dass ich diese 2 routinen anpassen muss. damit habe ich
desweiteren das problem, dass die projektdateien nicht zur neuesten programmversion kompatibel sind. sollte es
erforderlich sein, weitere beschreibungen zu liefern, bin ich gern bereit sourcen zu senden.
//wenn ich im menü auf open klicke rufe ich diese procedure auf, die dann noch open projekt aufruft
ich habe zum speichern meiner projektdaten im css-maker 2 folgende proceduren zum speichern und öffnen erstellt. nun habe ich bei jedem update, jeder kleinen veränderung das problem, dass ich diese 2 routinen anpassen muss. damit habe ich desweiteren das problem, dass die projektdateien nicht zur neuesten programmversion kompatibel sind. sollte es erforderlich sein, weitere beschreibungen zu liefern, bin ich gern bereit sourcen zu senden.
//wenn ich im menü auf open klicke rufe ich diese procedure auf, die dann noch open projekt aufruft
procedure TTablemaker_Haupt.aufmachen(Sender: TObject);
var
str1:TStringlist;
begin
begin
//Datei-Inhalt einlesen
str1 := TStringlist.Create;
str1.Loadfromfile(Dateiname);
Tabstring := str1.text;
str1.free;
//Listboxen löschen
List_org.Clear;List_new.Clear;List_xml.Clear;
List_new_class.Clear;List_own.Clear;List_xms.Clear ;
end;
Openproject(sender);
end;
procedure TTablemaker_Haupt.OpenProject(Sender: TObject);
var
m,k,i,posi:integer;
inhalt:string;
org,new,cla,own,xml,xms,indi:integer;
begin
Optionen.Memo1.Clear;
//Lesen
m:=1;
for k:=0 to 49 do
begin
for i:= 0 to 44 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid1.Cells[i,k]:=inhalt;
end;
end;
//m:=1001 alt; 2251 neu
for k:=0 to 49 do
begin
for i:= 0 to 19 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid2.Cells[i,k]:=inhalt;
end;
end;
//m:=1001 alt; 2251 neu
for k:=0 to 10 do
begin
for i:= 0 to 3 do
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
StringGrid3.Cells[i,k]:=inhalt;
end;
end;
//m:=2001;
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
//m:=2002;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
new:=strtoint(inhalt);
//m:=2003;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
cla:=strtoint(inhalt);
//m:=2004;
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
own:=strtoint(inhalt);
end;
// und nun die posis von org bis own auswerten
//listinhalt von org 14 ist die derzeitge anzahl des counts
org:= (counting - new) + 3299; //alt3255
for i:= 3299 to org do //alt 2005 neu
begin
Posi:=Pos('|',Tabstring);
inhalt:=Copy(Tabstring,m,posi-m);
Delete(Tabstring,m,posi);
List_org.Items.Add(inhalt)
Comment