AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WriteFile

Ein Thema von Pseudemys Nelsoni · begonnen am 25. Feb 2004 · letzter Beitrag vom 26. Feb 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

WriteFile

  Alt 25. Feb 2004, 19:42
hoi,

ich muss in einert dll einen text durch einen anderen ersetzen, ich MUSS es mit "WriteFile" machen, kann mir jemand sagen was ich da alles übergeben muss?

Zitat:
BOOL WriteFile(

HANDLE hFile, // handle to file to write to
LPCVOID lpBuffer, // pointer to data to write to file
DWORD nNumberOfBytesToWrite, // number of bytes to write
LPDWORD lpNumberOfBytesWritten, // pointer to number of bytes written
LPOVERLAPPED lpOverlapped // pointer to structure needed for overlapped I/O
);

damit kann ich irgendwie nict viel anfangen, ich will nur z.b das wort "hi" durch "jo" ersetzen, jemand ne idee?
Mario
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: WriteFile

  Alt 25. Feb 2004, 20:12
Moin Pseudemys Nelsoni,
  • hFile ist das Handle der Datei, dass die Datei identifiziert, wenn Du sie, z.B. mit Hier im Forum suchenCreateFile öffnest.
  • lpBuffer ist ein Pointer, der auf die Daten zeigt, die Du schreiben willst, bei einem String bietet sich also ein PChar Wert an.
  • nNumberOfBytesToWrite gibt, wie der Name ja schon sagt, an, wieviele Zeichen geschrieben werden sollen.
  • lpNumberOfBytesWritten ist eine Variable, die nach der Ausführung von WriteFile die Anzahl der tatsächlich geschriebenen Zeichen angibt. Sollte im Normalfalle mit nNumberOfBytesToWrite übereinstimmen.
  • lpOverlapped kannst Du für den gegebenen Fall auf nil setzen.

Was mich aber noch interessieren würde:
Warum MUSS es WriteFile sein. Beispielsweise benutzt TFileStream intern ja auch die API Funktionen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: WriteFile

  Alt 26. Feb 2004, 05:00
Hallo Christian,

Da ich zwar kein nonVCL kann, hab ich vor mein patch ohne dialoge/events etc zu machen, auf den click der exe soll ledeglich der code ausgeführt werden und das ist ja nicht so schwer, daher kann ich wenn ich die vcl weglasse kein BlockRead/BlockWrite verwenden.
Danke für die übersetzung, kannst du mir sagen, wie ich "lpBuffer" auf die daten zeigen lasse?

mfg
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: WriteFile

  Alt 26. Feb 2004, 05:16
Zitat von Pseudemys Nelsoni:
daher kann ich wenn ich die vcl weglasse kein BlockRead/BlockWrite verwenden.
Und warum nicht? Beide Prozeduren sind in der Unit Systems implementiert, die sowieso bei jedem Delphi Projekt eingebunden wird.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: WriteFile

  Alt 26. Feb 2004, 06:38
dachte nur "windows" wird eingebunden. wozu systems?
Mario
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: WriteFile

  Alt 26. Feb 2004, 10:27
Die Unit heißt System nicht Systems

Sie wird vom Compiler immer eingebunden, egal ob angegeben oder nicht. Aber nonVCL heißt, wie der Name schon sagt, dass die VCL nicht benutzt wird. Dazu gehören Units wie Forms, Dialogs, Commctrls etc., aber beispielsweise die RTL, die u.a. aus der SysUtils besteht, gehört auch nicht zu der VCL.
Und schließlich ist das Ziel der nonVCL-Programmierung ja nicht, auf Teufel komm raus auf die VCL zu verzichten, sondern die Programme klein zu halten.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: WriteFile

  Alt 26. Feb 2004, 15:26
Die Unit System enthält eben Grundfunktionen, die nicht im Compiler "einprogrammiert" sind. Da müsste auch der Speichermanager drinne stecken, ist allerdings nur eine Vermutung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 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