AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Unter Vernachlässigung des Dateientyps Dateien editieren!
Thema durchsuchen
Ansicht
Themen-Optionen

Unter Vernachlässigung des Dateientyps Dateien editieren!

Ein Thema von qubeus · begonnen am 6. Aug 2007 · letzter Beitrag vom 6. Aug 2007
 
shmia

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

Re: Unter Vernachlässigung des Dateientyps Dateien editieren

  Alt 6. Aug 2007, 17:20
Delphi hat glücklicherweise einen Stringtyp, der keine Probleme mit Hex-0 ($00) hat.
Deshalb kann man (sollte man) auch binäre Daten in einem Ansistring speichern.
Das hat folgende Vorteile:
* Ansistrings können dynamisch angelegt werden und werden von Delphi durch Compiler-Magik automatisch
entsorgt.
* ob man Textdateien lädt oder binäre Dateien ist egal; man verwendet die gleiche Technik
* ein String trägt seine Länge in sich - man braucht keine zusätzliche Längenvariable
Beispiel:
Delphi-Quellcode:
var
   s : Ansistring;
   a : char;
begin
   s := FileToString('C:\datei.xyz'); // Datei komplett laden
   // zwei Bytes tauschen
   a := s[16];
   s[16] := s[6];
   s[6] := a;
   // direkt 2 Bytes setzen
   s[1] := chr(200);
   s[2] := chr($A2); // man kann auch hexadezimale Konstanten angeben
   StringToFile('C:\datei.xyz', s); // veränderten String speichern
end;
FileToString() und StringTofile() gibt es hier: http://www.delphipraxis.net/internal...=665975#665975
Falls man nur Teile der Datei laden und verändern möchte, kann man diese Funktionen um die Parameter Position und Laenge erweitern.

Die Alternative mit Assignfile, read, write, ... ist eine veraltete Technik aus der Anfangszeit von Pascal.
Andreas
  Mit Zitat antworten Zitat
 


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 14:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz