Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: CPU Auslastung für ein Programm begrenzen

  Alt 18. Jul 2006, 13:02
Delphi-Quellcode:
 
//Assign .txt File for Input
  {$I-} 
  AssignFile(txtFile, sPath);
  Reset(txtFile);
  {$I+}
  if IOResult = 0 then
  begin
    iCount := 100;
    iRow := 2;

    While Not EOF(txtFile) Do
    Begin

      Application.ProcessMessages;

      Readln(txtFile, sRow);

      //Add sRow to Excel Cells
      For i := 1 To 7 Do
        Begin
          case i of
            1: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 1, 2);
            2: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 3, 9);
            3: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 12, 9);
            4: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 21, 4);
            5: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 25, 4);
            6: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 29, 4);
            7: oleExcelSheets.Cells[iRow, i].Value := Copy(sRow, 33, 3);
          end;
        End;

      iRow := iRow + 1;

      //Set Progress in Progress Bar
      If iRow = iCount Then
      Begin
        ProgBar2.Position := Round((100 * iRow) / iAnzRec);
        iCount := iCount + 100;
      End;

    End;
  end;
  CloseFile(txtFile);
Hallo Andreas,

wenn Du schon mit {$I-} und {$I+} arbeitest
solltest Du auch IOResult in irgendeiner Art und Weise abfragen.

Ansonsten finde ich die Version mit dem Zeileweisen einlesen
im Hinblick auf den Speicherverbrauch schonender als
die Version von xaromz.


Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat