AGB  ·  Datenschutz  ·  Impressum  







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

readbuffer problem ('verzweifle')

Ein Thema von poltergeistx · begonnen am 18. Apr 2006 · letzter Beitrag vom 18. Apr 2006
Antwort Antwort
Benutzerbild von poltergeistx
poltergeistx

Registriert seit: 12. Dez 2005
73 Beiträge
 
#1

readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 12:41
so, also ich wollt grad mal fragen, ob das so richtig iss , denn es geht nämlich irgendwie nicht ...


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;
[edit=Luckie]Sprache korrigiert. Mfg, Luckie[/edit]
"Ich will Microsoft wirklich nicht zerstören ;( hehe Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein." ...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 12:55
Einfach öfter mal aufrufen - irgendwann wird es schon "gehen".

Sieht garnicht danach aus - warum hast du unter .NET gepostet? Wenn du die Datei für konkurrierenden Zugriff freigibst, dann vielleicht besser mit fmShareDenyWrite. Das SetLength() würde ich aus dem Ressourcen-Schutzblock heraus lassen. Ressourcenschonend ist der Code auch nicht gerade, aber laufen sollte er - vom Augenschein her.

Wie hast du denn festgestellt, dass er nicht geht?

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von poltergeistx
poltergeistx

Registriert seit: 12. Dez 2005
73 Beiträge
 
#3

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 14:19
hmm ..
ich habe mich geirrt mit net .. lol

ich habe mich verklickt kann man so sagen,
naja also das mit dem nochmal aufrufen klappt nicht :[

aber ich werds probieren bisses klappt, für jede weitere hilfe bin ich dankbar
"Ich will Microsoft wirklich nicht zerstören ;( hehe Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein." ...
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#4

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 16:58
Ich sehe jetzt auf den ersten Blick auch kein Problem im Quelltext.
(vielleicht mal nur Read und Write benutzen anstatt von Read/WriteBuffer).

Vielleicht kannst du das aber komplett über den Haufen werfen und stattdessen
einen TStringStream benutzen (Unit Classes). Damit kannst du direkt im "Text-Modus"
auf eine Datei zugreifen.
Manuel
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 19:13
Hallo poltergeistx,

möchtest Du vielleicht alle Vorkommen des Suchtextes ersetzen? Falls ja, dann mußt Du das beim Aufruf der Funktion StringReplace angeben:

S := StringReplace(S, SearchString, replaceString, [rfIgnoreCase, rfReplaceAll]); Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von poltergeistx
poltergeistx

Registriert seit: 12. Dez 2005
73 Beiträge
 
#6

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 19:15
kk
ich werds denn mal testen jetzt :]
ich habs noch immer net hinbekommen ^^
"Ich will Microsoft wirklich nicht zerstören ;( hehe Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein." ...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 19:29
Du denkst nur, dass das Programm nicht funktioniert!
In Wirklichkeit funktioniert es aber; du kannst es nur nicht erkennen.
(der berüchtigte "Tomaten auf den Augen Effekt" )

Du musst dir folgende Dinge anzeigen lassen:
Der String vorher, der String nachher, der Inhalt von "Searchstring" und "replacestring".
Dann lässt sich erkennen, WAS da nicht funktionieren soll.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von poltergeistx
poltergeistx

Registriert seit: 12. Dez 2005
73 Beiträge
 
#8

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 20:18
.-.
"Ich will Microsoft wirklich nicht zerstören ;( hehe Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein." ...
  Mit Zitat antworten Zitat
Benutzerbild von poltergeistx
poltergeistx

Registriert seit: 12. Dez 2005
73 Beiträge
 
#9

Re: readbuffer problem ('verzweifle')

  Alt 18. Apr 2006, 20:21
Zitat von shmia:
Du denkst nur, dass das Programm nicht funktioniert!
In Wirklichkeit funktioniert es aber; du kannst es nur nicht erkennen.
(der berüchtigte "Tomaten auf den Augen Effekt" )

Du musst dir folgende Dinge anzeigen lassen:
Der String vorher, der String nachher, der Inhalt von "Searchstring" und "replacestring".
Dann lässt sich erkennen, WAS da nicht funktionieren soll.
ok ich bin dumm

danke danke danke ^^ ich habe den code irgendwie so gemacht, dass das programm nicht mehr 'abstürtzt'(respektiv funktioniert ^^) doch jetzt geht das ganze wieder tiptop thx :]
"Ich will Microsoft wirklich nicht zerstören ;( hehe Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein." ...
  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 05:15 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