AGB  ·  Datenschutz  ·  Impressum  







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

Dateigröße ermitteln, wie geht Ihr vor?

Ein Thema von Fukiszo · begonnen am 25. Jan 2018 · letzter Beitrag vom 27. Jan 2018
Antwort Antwort
Seite 2 von 3     12 3      
Fukiszo
(Gast)

n/a Beiträge
 
#11

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 17:57
das war an mich gemeint wegen dem unicode.
nicht das ich diesen tipp weitergebe ohne das berücksichtigt zu haben.
ich habs jedenfalls so aufgenommen als hinweis für mich da ich oft pChar einsetz wo es anders lauten sollte.

Grüße
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:00
Ist es nicht egal, ob PChar oder PWideChar oder sonst was?
Ich kenne das nur so, dass PChar über allem steht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:03
Nein, ist nicht egal.

PChar/Char/String sind compilerabhängig, also können sich ändern.
Wenn es also nicht zusammenpasst, dann kann es schnell knallen.

z.B. bei diesem Code hier PWideChar verwendet und schon gibt es in Delphi 2-2007 und in FreePascal probleme, wenn String und GetFileAttributesEx dort plötzlich ANSI sind, im Gegensatz zu Delphi 2009+.

PChar ist ein Alias, der je nach Compiler z.B. auf PAnsiChar oder PWideChar verweist.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:07
Zitat:
z.B. bei diesem Code hier PWideChar verwendet und schon gibt es in Delphi 2-2007 und in FreePascal probleme
Ich bin einfach stillschweigend davon ausgegangen, dass keiner mehr diese Krankheiten vor D2009 benutzt
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#15

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:12
ich finds spannend dazuzulernen, da in meinen erste source code post's noch vieles per pChar werkelte und ich daraufhin zu weiteren links zu diesem thema verwiesen haben, hab ich hier http://docwiki.embarcadero.com/RADSt..._in_RAD_Studio und hier http://docwiki.embarcadero.com/RADSt...icode_anpassen meine kleinen ratgeber in bezug auf unicode gefunden. kann auch abende füllen sich da durchzuarbeiten (noch ein link, noch mehr input ...) aber macht spass.

in diesem sinne,

grüße

edit ps:
ich nutz delphi version 7 von anno dazumal und bin glücklich damit auch wenn ich kostenfrei ein aktuelles bekommen könnte.

Geändert von Fukiszo (26. Jan 2018 um 18:17 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#16

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:13
Hmm..


Wieso dann nicht gleich Typfixiert?

Delphi-Quellcode:
function GetSize(const fileName: WideString): Int64;
var
   info: TWin32FileAttributeData;
begin
   if not GetFileAttributesExW(PWideChar(fileName), GetFileExInfoStandard, @info) then
     RaiseLastOSError;
   Result := Int64(info.nFileSizeLow) or Int64(info.nFileSizeHigh shl 32);
end;
Dies funktioniert unter allen Delphi-Versionen, welche WideChar unterstützen (somit eigentlich fast alle )

Edit:
Für alle API-Funktionen verwende ich nur noch die Wide Versionen. Somit gibt es auch keine Probleme..
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:16
Gerade die Suche bemüht. Mach dir da keinen Kopf und benutz einfach PChar wenn du keine alten Delphiversionen <2009 mehr benutzt
http://www.delphipraxis.net/1385162-post6.html
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#18

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:32
Jupp.

Zitat:
Delphi definiert bei WinAPIs auch in der Regel z.b. MessageBoxA , MessageBoxW und dann einmal noch nur MessageBox , welches dann auf eine der beiden Varianten verweist. Dadurch brauchst du dir über A/W keine Gedanken machen und einfach MessageBox(PChar(), ...) aufrufen. Willst du in irgendeinem Falle mal eine explizite Version, dann solltest du auch den Typen in die explizite Form casten: MessageBoxA(PAnsiChar(), ...) .
das bringt es auf den punkt
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.198 Beiträge
 
Delphi 10.4 Sydney
 
#19

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 18:58
Ich bin einfach stillschweigend davon ausgegangen, dass keiner mehr diese Krankheiten vor D2009 benutzt
+1

Aber ich glaube du wirst gleiche von bekannten Usern verbal gesteinigt ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 19:56
Um meiner Steinigung zuvor zu kommen:
sollte dieser bekannte user Windows 10 nutzen, darf er mich schlicht weg nicht steinigen. Er darf es nur, wenn er noch Windows XP nutzt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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