AGB  ·  Datenschutz  ·  Impressum  







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

inkompatibilität von dateitypen

Ein Thema von happyaura · begonnen am 2. Apr 2006 · letzter Beitrag vom 7. Apr 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: inkompatibilität von dateitypen

  Alt 2. Apr 2006, 17:50
@ erzeugt einen Pointer und das [1] lässt ihn aufs erste Zeichen des Strings zeigen. Ein String ist 1-basiert, nicht wie normale dynamische Arrays 0-basiert. Bei "alten" Strings kann man mit s[0] auf die Länge des Strings zugreifen, bei den "neuen" geht das nicht mehr.

Ein PChar ist definiert als Pointer auf das erste Zeichen einer Zeichenkette, terminiert durch ein Nullbyte.

Mit @s[1] machst du genau das. PChar(s) kann man genauso hernehmen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#12

Re: inkompatibilität von dateitypen

  Alt 2. Apr 2006, 18:08
das hab ich eben durch rumspielen und fehlermeldungen interpretieren auch noch mal rausbekommen. bin sonst eher in der c welt unterwegs, da sind die strings ein wenig anders organisiert...
besten dank noch mal für Deine erläuterungen.
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#13

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 13:50
Was genau ist PChar?

Integer = ganze Zahl
Real = Zahl
String = Text
PChar =
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 13:53
Pointer to Char: Ein Zeiger auf eine Char7erstes Zeichen eines nullterminierten Strings.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#15

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 13:54
Noch 'ne Frage:

Was bewirkt das false (bzw. true) bei CopyFile?

CopyFile(PChar('Datei1.bsp'),PChar('Datei2.bsp'),false);
  Mit Zitat antworten Zitat
Dale

Registriert seit: 7. Apr 2006
Ort: Alsdorf
42 Beiträge
 
Delphi 2006 Professional
 
#16

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 14:03
Ist der Parameter "False", dann wird eine schon vorhandene Datei überschrieben, ansonsten liefert die Funktion "False" zurück.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 14:05
Die Delphihilfe hätte dir gesagt, das der 3.Paramter angibt ob bei Existieren der Zieldatei ein Fehler ausgelöst wird oder diese überschrieben wird.

[Edit: war wohl zu langsam ...]
Markus Kinzler
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#18

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 15:38
Moin
Der letzte Parameter (True oder False) gibt an, was geschehen soll, wenn die Zieldatei schon vorhanden ist -> bei False wird die Zieldatei ohne Rückfrage überschrieben, bei True bricht die CopyFunktion ab.

Um zu verhindern, dass ggf. eine vorhandene Datei überschrieben wird, entweder VOR dem CopyFile(...) mit FileExists(...) abfragen oder aber so
Code:
if CopyFile(...) = 0 then //Fehler->ZielDatei bereits vorhanden
  ...

Zitat von Dale:
Ist der Parameter "False", dann wird eine schon vorhandene Datei überschrieben, ansonsten liefert die Funktion "False" zurück.
DIe Funktion gibt keinen Boolschen Wert zurück, sondern einen Integer: bei Fehler ist der Wert 0, bei erfolgreichem Kopieren ist der Wert größer Null.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#19

Re: inkompatibilität von dateitypen

  Alt 7. Apr 2006, 18:37
Zitat von raiguen:
Code:
if CopyFile(...) = 0 then //Fehler->ZielDatei bereits vorhanden
  ...
Die Fehlerbeschreibung gefällt mir aber nicht wirklich, denn ein Fehler kann genauso sein:
-zuwenig Speicher
-Quelldatei nicht vorhanden/oder keine Leserechte
-Dateiname der Zieldatei fehlerhaft
-Zieldatei bereits vorhanden
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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