11. August 2008 15:13
11. August 2008 16:25
11. August 2008 22:36
IF Zähler MOD 500 = 0 THEN
  COMMIT;Window.OPEN(...);
NoOfRecs := Rec.COUNT;
CurrRec := 0;
IF Rec.FINDSET THEN BEGIN
  Window.UPDATE(1,Primärschlüssel);
  Window.UPDATE(2,ROUND(CurrRec / NoOfRecs * 10000,1));
  [...]
UNTIL Rec.NEXT = 0;Window.OPEN(...);
NoOfRecs := Rec.COUNT;
CurrRec := 0;
LastTime := TIME;
IF Rec.FINDSET THEN BEGIN
  IF NoOfRecs <= 100 THEN BEGIN
    Window.UPDATE(1,Primärschlüssel);
    Window.UPDATE(2,ROUND(CurrRec / NoOfRecs * 10000,1));
  END ELSE BEGIN
    IF (TIME - LastTime) > 1000 THEN BEGIN
      Window.UPDATE(1,Primärschlüssel);
      LastTime := TIME;
    END;
    IF (CurrRec MOD (NoOfRecs DIV 100) = 0) THEN
      Window.UPDATE(2,ROUND(CurrRec / NoOfRecs * 10000,1));
  END;
  [...]
UNTIL Rec.NEXT = 0;12. August 2008 09:51
12. August 2008 13:34
RecordRefQuelle.OPEN(ObjectID,FALSE,TxtQuellmandant);
IF RecordRefQuelle.FIND('-') THEN BEGIN
  RecordRefZiel.OPEN(ObjectID,FALSE,TxtZielmandant);
  
  Dlg.UPDATE(1, RecordRefQuelle.COUNT);
  LocIntSatzZaehler := 0;
  REPEAT
    IntSatzZaehler += 1;
    IF IntSatzZaehler MOD 50 = 0 then
      GDlg.UPDATE(2, IntSatzZaehler);
    RecordRefZiel.INIT;
    FOR IntZaehler := 1 TO RecordRefQuelle.FIELDCOUNT DO BEGIN
      CLEAR(FieldRefQuelle);
      CLEAR(FieldRefZiel);
      FieldRefQuelle := RecordRefQuelle.FIELDINDEX(IntZaehler);
      IF (FORMAT(FieldRefQuelle.CLASS) = 'Normal') AND
         (FieldRefQuelle.ACTIVE) THEN BEGIN
        FieldRefZiel := RecordRefZiel.FIELDINDEX(IntZaehler);
        IF (FORMAT(FieldRefQuelle.TYPE) = 'TableFilter') OR (FORMAT(FieldRefQuelle.TYPE) = 'BLOB') THEN BEGIN
          EVALUATE(FieldRefZiel,FORMAT(FieldRefQuelle.VALUE));
        END ELSE BEGIN
          FieldRefZiel.VALUE := FieldRefQuelle.VALUE;
        END;
      END;
    END;  
    IF NOT RecordRefZiel.INSERT THEN
      RecordRefZiel.MODIFY;
    IntCommitZaehler += 1;
    IF IntCommitZaehler Mod 500 = 0 THEN 
      COMMIT;
  UNTIL RecordRefQuelle.NEXT = 0;
  RecordRefZiel.CLOSE();
END;
RecordRefQuelle.CLOSE();
12. August 2008 14:27
1. Oktober 2008 16:05
// Sätze ausgeben
IF RecRef.FIND('-') THEN REPEAT;
  Fenster.UPDATE(1,SatzNummer);
  XmlSchreiben.FelderSchreiben(RecRef,Datei);
UNTIL RecRef.NEXT = 0;
FelderSchreiben(RecRef : RecordRef;VAR Datei : File)
// Felder
FOR I := 1 TO RecRef.FIELDCOUNT DO BEGIN
  Feld := RecRef.FIELDINDEX(I);
  IF HoleFeldWert(Feld,FeldWert) THEN
    WriteXmlFeld('F'+FORMAT(Feld.NUMBER),FeldWert,Datei);
END;1. Oktober 2008 16:14
1. Oktober 2008 16:16