AGB  ·  Datenschutz  ·  Impressum  







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

Problem bei ReadBuffer ;(

Ein Thema von Curse4Life · begonnen am 12. Aug 2004 · letzter Beitrag vom 13. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
Curse4Life

Registriert seit: 19. Jun 2004
36 Beiträge
 
#1

Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 11:16
Hi, ich habe jetzt seit ein paar Tagen .net und arbeite jetzt ein wenig damit.
So wollte ich eine alte Unit von mir in einer VLC Anwendung verwenden, hat auch vieles geklappt, aber bei dieser Procedure bekomme ich einen Fehler:

Delphi-Quellcode:
procedure BIB_FileReplaceString(FileName, searchstring, replacestring: string);
var
  fs: TFileStream;
  S: string;
begin
   // Erstellen der Variablen für die Datei
   fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
   try
      SetLength(S, fs.Size);
      fs.ReadBuffer(S[1], fs.Size);
   finally
      fs.Free;
   end;

   // Ersetzen des Textes
   S := StringReplace(S, SearchString, replaceString, [rfIgnoreCase]);
   fs := TFileStream.Create(FileName, fmCreate);
   try
      fs.WriteBuffer(S[1], Length(S));
   finally
      fs.Free;
   end;
end;

Durch ausschneiden compilieren, ausschneiden kompilieren habe ich den Fehler gefunden, es liegt an dieser Zeile:
fs.ReadBuffer(S[1], fs.Size);
Die Fehlermeldung lautet:
[Error] BIB_Dateibearbeitung.pas(253): String element cannot be passed to var parameter


Ich hoffe jemand kann mir helfen


mfg
Curse4Life
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#2

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 11:22
Delphi-Quellcode:
procedure BIB_FileReplaceString(FileName, searchstring, replacestring: string);
var
  fs: TFileStream;
  S: string;
begin
   // Erstellen der Variablen für die Datei
   fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
   try
      SetLength(S, fs.Size);
      fs.Read(PChar(S)^, fs.Size);
   finally
      fs.Free;
   end;

   // Ersetzen des Textes
   S := StringReplace(S, SearchString, replaceString, [rfIgnoreCase]);
   fs := TFileStream.Create(FileName, fmCreate);
   try
      fs.Write(PChar(S)^, Length(S));
   finally
      fs.Free;
   end;
end;
Ich würde das so gestalten. Denn hinter einen Long-String steht eigentlich ein PChar.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Curse4Life

Registriert seit: 19. Jun 2004
36 Beiträge
 
#3

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 12:19
Deine Variante funktioniert leider nicht! ;(
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 12:30
Was funktioniert wie nicht, etwas genauer bitte?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Curse4Life

Registriert seit: 19. Jun 2004
36 Beiträge
 
#5

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 12:38
Diese Fehlermeldung bei der Zeile mit dem Read

[Error] BIB_Dateibearbeitung.pas(240): Invalid typecast


mfg
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 13:07
Kann ich leider mit Delphi7 Prof nicht nachvollziehen.

  aStream.Read(PChar(Result)^, dwLen); Result : String;
dwLen : Cardinal;

Funktioniert einwandfrei.

Welche Delphiversion?
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Curse4Life

Registriert seit: 19. Jun 2004
36 Beiträge
 
#7

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 13:08
8, .net eben


mfg
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 15:58
Da geht es natürlich nicht!

-> Delphiversion angegeben!!!

Mit D8 kenne ich mich nicht aus! Das einzige was ich mache ich C#.

Schau mal nach der Convert-Klasse. Binärstrom.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#9

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 16:05
Zitat von neolithos:
-> Delphiversion angegeben!!!
Hm, ist doch die Delphi.NET Sparte

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#10

Re: Problem bei ReadBuffer ;(

  Alt 12. Aug 2004, 16:20
Zitat:
fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
Muss die Datei in diesem Fall nicht zum Schreiben geöffnet sein?
Ich kenne mich nur mit read und write aus, jedoch nicht mit readBuffer
und writeBuffer.
DANNYBOY
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:51 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