Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi VB Funktions Übersetzung in Delphi (https://www.delphipraxis.net/173221-vbulletin-funktions-uebersetzung-delphi.html)

Back2Code 13. Feb 2013 10:24

Delphi-Version: XE2

VB Funktions Übersetzung in Delphi
 
Hi DP,

ich bräuchte mal Hilfe bei einer VB Funktion die richtig nach Delphi zu übersetzen. Ich bin schon nen Stück vorangekommen aber leider nicht komplett.

Code:
    Private Sub BumpExe(ByVal sPfad As String)
        Dim fs As FileStream = File.Open(sPfad, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
        Dim bw As New BinaryWriter(fs)
        fs.Position = fs.Length + 1

        For i = 1 To 1024
            bw.Write(Chr(0))
        Next

        bw.Close()
        fs.Close()

    End Sub
Bisher sieht die Delphi Prozedur so aus:

Delphi-Quellcode:
procedure BumpExe(sPfad: string);
var i: integer;
    buffer : TBytes;
begin
  FileStream := (TFileStream.Create(sPfad, fmOpenRead+fmShareDenyNone));
  // ??

  for i := 1 to 1024 do
  begin
    FileStream.WriteBuffer(Chr, 0); //??
  end;
 
  FileStream.Free;
end;
Würde jetzt gerne mal wissen, was noch genau fehlt bzw bei mir falsch ist. Danke:thumb:

Klaus01 13. Feb 2013 10:40

AW: VB Funktions Übersetzung in Delphi
 
eventuell so:

Delphi-Quellcode:
procedure BumpExe(sPfad: string);
var i: integer;
    buffer : TBytes;
    dataByte: Byte;
begin
  FileStream := (TFileStream.Create(sPfad, fmOpenWrite,fmShareDenyNone));
  try
    fileStream.seek(0,soFromEnd);
    dataByte := 0;
    for i := 1 to 1024 do
      begin
        FileStream.WriteBuffer(dataByte,1);
      end;
  finally
    FileStream.Free;
  end;
end;
Grüße
Klaus

Back2Code 13. Feb 2013 10:51

AW: VB Funktions Übersetzung in Delphi
 
Zitat:

Zitat von Klaus01 (Beitrag 1203256)
eventuell so:

Delphi-Quellcode:
procedure BumpExe(sPfad: string);
var i: integer;
    buffer : TBytes;
    dataByte: Byte;
begin
  FileStream := (TFileStream.Create(sPfad, fmOpenWrite,fmShareDenyNone));
  try
    fileStream.seek(0,soFromEnd);
    dataByte := 0;
    for i := 1 to 1024 do
      begin
        FileStream.WriteBuffer(dataByte,1);
      end;
  finally
    FileStream.Free;
  end;
end;
Grüße
Klaus

Dankeschön Klaus für die schnelle Hilfe. Hast mir einen großen Gefallen damit getan. Funktioniert einwandfrei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz