AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Satz in Datei schreiben ohne Satzende (CR+LF)?
Thema durchsuchen
Ansicht
Themen-Optionen

Satz in Datei schreiben ohne Satzende (CR+LF)?

Ein Thema von oltrop · begonnen am 4. Aug 2004 · letzter Beitrag vom 4. Aug 2004
Antwort Antwort
oltrop

Registriert seit: 24. Okt 2003
14 Beiträge
 
#1

Satz in Datei schreiben ohne Satzende (CR+LF)?

  Alt 4. Aug 2004, 12:18
Hallo Leute,

ich muss eine Auftragsdatei mit einem Satz schreiben.
Dieser Satz hat genau 348 Stellen und darf kein Satzende haben.
Kein 0D 0A (CR+LF);

Wie mach ich das am besten?

Gruß aus Ostfriesland
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#2

Re: Satz in Datei schreiben ohne Satzende (CR+LF)?

  Alt 4. Aug 2004, 12:26
Mit nem FileStream

Delphi-Quellcode:
var
  FS:TFileStream
  s : string;
begin
  FS := TFileStream.Create('DATEINAME',fmCreate);
  try
    s := 'DEIN SATZ';
    FS.Write(s[1],348);
  finally
    FS.Free;
  end;
end;
s[1] sagt aus: Der String wird vom Ersten Zeichen an reingeschrieben. Einfach nur "s" würd die Länge des String auch mit reinschreiben
DATEINAME ist der komplette Pfad (z.B. 'C:\test.txt') und DEIN SATZ ist...Dein Satz

Die Gesamtlänge ist 348
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: Satz in Datei schreiben ohne Satzende (CR+LF)?

  Alt 4. Aug 2004, 12:27
z.b. so

Delphi-Quellcode:
type
  //Nur ein bsp. man kann auch ein Longstring nehemen
  TBuffer = record
    text1 : String[255];
    text2 : string[93];
  end;
var
  stream : TFileStream;
  buffer : TBuffer;
begin
  stream:=TFileStream.Create('test.txt');
  try
    buffer.text1:='text';
    buffer.text2:='text2';
    stream.Write(buffer,SizeOf(TBuffer));
  finally
   stream.Free;
  end;
end;
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#4

Re: Satz in Datei schreiben ohne Satzende (CR+LF)?

  Alt 4. Aug 2004, 12:44
Zitat von franktron:
z.b. so

Delphi-Quellcode:
type
  //Nur ein bsp. man kann auch ein Longstring nehemen
  TBuffer = record
    text1 : String[255];
    text2 : string[93];
  end;
var
  stream : TFileStream;
  buffer : TBuffer;
begin
  stream:=TFileStream.Create('test.txt');
  try
    buffer.text1:='text';
    buffer.text2:='text2';
    stream.Write(buffer,SizeOf(TBuffer));
  finally
   stream.Free;
  end;
end;
Im Prinzip das gleich wie meins, nur bei dir wird das erste Byte mit der Länge des Strings besetzt. Das heißt die Datei wär 349 Bytes groß, anstatt 348
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
ripper8472

Registriert seit: 17. Aug 2003
275 Beiträge
 
#5

Re: Satz in Datei schreiben ohne Satzende (CR+LF)?

  Alt 4. Aug 2004, 12:57
Code:
var
  f:textfile;
  deintext:string;
begin
  assignfile(f,'datei.txt');
  rewrite(f);
  write(f,deintext);
  closefile(f);
end;
das ist nativer Pascal Code für Dateizugriff. Der funkioniert auch ohne Streams und auch im alten Turbo Pascal 7 für DOS.

[edit] der [ delphi ] tag ging nicht
Gruß
Christoph
char l[]="\xd6N\x96\xa6\xe6\xce.\xa6\xe4\xce\x04N\x86\xae\ xce\xfc",I,*i=l-1;for(;I=3,*i
++;){while(*i=*i&~(1<<I|1<<7-I)|(*i&1<<I)<<7-2*I|(*i&1<<7-I)>>7-2*I,I--);}puts(l);
  Mit Zitat antworten Zitat
oltrop

Registriert seit: 24. Okt 2003
14 Beiträge
 
#6

Danke euch beiden!

  Alt 4. Aug 2004, 14:26
Danke!!
  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 02:45 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