AGB  ·  Datenschutz  ·  Impressum  







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

wie bei char nichts angeben

Ein Thema von Snoop007 · begonnen am 15. Feb 2003 · letzter Beitrag vom 16. Feb 2003
Antwort Antwort
Seite 1 von 2  1 2      
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#1

wie bei char nichts angeben

  Alt 15. Feb 2003, 22:43
hi,
bsp.
Delphi-Quellcode:
var
  s : string;
begin
  s := '';
end;

var
  s : char;
begin
  s := ?
end;
wenn ich s := #0 setze haut der mit ein leerzeichen rein
ich könnte ja auch s : string[1]; angeben, möchte ich aber nicht
  Mit Zitat antworten Zitat
Chewie

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

Re: wie bei char nichts angeben

  Alt 15. Feb 2003, 22:47
Zitat von Snoop007:
möchte ich aber nicht
Was möchtest du denn? ich versteh nämlich nicht, was du fragen willst
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 15. Feb 2003, 22:49
Moin Snoop,

wenn ich Deine Frage richtig verstanden habe:

Geht nicht.

Ein Char ist immer ein Zeichen gross, egal, was da nun drinsteht.
Du wirst wohl oder übel die Stringvariante benutzen müssen.
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
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 15. Feb 2003, 22:51
ich möchte das in s, wenn es vom typ char ist, den inhalt leeren.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

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

Re: wie bei char nichts angeben

  Alt 15. Feb 2003, 22:52
Zitat von Snoop007:
wenn ich s := #0 setze haut der mit ein leerzeichen rein
ich könnte ja auch s : string[1]; angeben, möchte ich aber nicht
Falsch, es ist nur ein #0 Zeichen drinn, viele Progs können das nicht darstellen - wie auch...
Du kannst einen Char-Wert nicht auf leer setzen, ein Char ist immer genau ein Byte lang und beinhaltet irgendeinen Wert zwischen #0 und einschließlich #255.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 15. Feb 2003, 22:55
Moin sakura,

Sandwich Antwort
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
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 15. Feb 2003, 22:57
das habe ich mir erst auch gedacht ...

ich schreibe einen wert in die datei, mit hilfe von streams und was sehe ich ?
ein leerzeichen genau an der stelle wo das #0 sitzen soll ...

die datei habe ich mit wordad geöffnet
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#8
  Alt 15. Feb 2003, 23:01
In der Datei selbst ist, zumindest ursprünglich, ein #0 Zeichen. Lade Dir mal einen HEX-Editor aus dem Netz, dann wird der auch ein 00 an der Stelle zeigen - das ist ein Fakt.

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

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#9
  Alt 15. Feb 2003, 23:05
ich habe jetzt
Delphi-Quellcode:
var
  s : string[1];
begin
  s := '';
end;
und nun gehts, ich glaube dir das

es soll aber nicht 00 in der datei stehen, es soll nichts stehen
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 15. Feb 2003, 23:50
Moin Snoop,

Wordpad und Notepad zeigen binäre Nullen als Blank an (und speichern diese dann auch wieder so!).
Da die Basis der Windows API C/C++ ist, hier Strings, üblicher Weise, mit einem #00 Zeichen enden, und beide Programme, mehr oder weniger, zur Stringverarbeitung dienen, ist das auch verständlich die Null durch etwas anderes zu ersetzen.
Genau genommen kann man sich ja "freuen", dass sie Binärdateien überhaupt einlesen.

Falls es Deine Absicht ist eine leere Datei zu erzeugen:

Delphi-Quellcode:
var
  fsWork : TFileStream;

begin
  fsWork := TFileStream.Create('MeineLeereDatei',fmCreate);
  FreeAndNil(fsWork);
end;
Ungetestet, sollte aber eigentlich gehen.
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
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 23:53 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