AGB  ·  Datenschutz  ·  Impressum  







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

Guid erzeugen

Ein Thema von Delbor · begonnen am 14. Mär 2016 · letzter Beitrag vom 17. Mär 2016
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Guid erzeugen

  Alt 17. Mär 2016, 11:32
Hi zusammen

Erstmal muss ich eine Frage stellen, für die ich nach längerem suchen keine Antwort finde. Wieso funktioniert das problemlos wird hier der Parameter 'Little' richtig erkannt:
Delphi-Quellcode:
function TOpenFileFrame.CreateIDFile(LPath : String): TBytes;
  var IdFile : TFileStream; ID_GUID: TGUID; IdStr: String;
      UniqueName: TEndian; Len: Longint;
begin
  if CreateGUID(ID_GUID) <> 0 then
     ShowMessage('Creating GUID failed!')
  else
  begin
    IdFile := TFileStream.Create(LPath,fmCreate);
    try
     Len := Length(GUIDToString(ID_GUID));
     IdFile.Write(Len, SizeOf(Len));
     IdStr := GUIDToString(ID_GUID);
     IdFile.Write(IdStr, Len);
    finally
      IdFile.Free;
    end;
    Result := ID_Guid.ToByteArray(Little);
  end;
end;
während das hier nicht tut:
Delphi-Quellcode:
function TIdentifierClass.GetBinaryGuid: TGuid;
begin
  FGuid := FGuid.NewGuid;
  Result := FGuid.ToByteArray(Little); // SysUtils ist in uses enthalten
end;
Korpus Delicti ist der Parameter Little => unbekannter Bezeichner.
FGuid ist ein Feld vom Typ TGuid.

@Sir Rufo: Sehe ich das richtig: du erzeugst ein Konsolenprogramm, das im zu idsentifizierenden Ordner zu liegen kommt, den GUID erzeugt und den aktuellen Pfad zurückgibt?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (17. Mär 2016 um 11:36 Uhr)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Guid erzeugen

  Alt 17. Mär 2016, 12:24
Hi mm1256

Zitat:
Hmmmm...Diese Vorgehensweise funktioniert dann wohl auch nur auf Laufwerken bzw. deren Verzeichnissen, auf die du Vollzugriff hast, also Dateien anlegen darfst. Möchte mich da nicht einmischen, aber ist das wirklich eine gute Lösung?
Welche andere Lösung gäbe es denn sonst noch?
Die Bilder sind für (m)eine Website bestimmt. Wegen der Grösse der Bilder sollen die nicht in die DB geschrieben werden - jedenfalls nicht in die hier zur Debatte stehende Server-Datenbank. Die Bildgrösse bewegt sich von ca. 10MB bei mir auf aktuell 24MB (10- bzw. 24 Megapixel je nach Kameramodell).
Hintergrund ist eigentlich: die Bilder liegen auf einer externen Festplatte, und deren Laufwerksbuchstabe kann sich unter Windows ändern.
Das aber heisst ja: Wenn ich den Pfad zu so einem Bild in der DB abspeichere, muss er nicht in jedem Fall auch später noch stimmen. Ist in dem Ordner/auf dem Laufwerk/der Partition ein IDFile, lässt sich so ein Ordner auch dann noch identifizieren, wenn sich sein Speicherort geändert hat.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Guid erzeugen

  Alt 17. Mär 2016, 12:40
@Sir Rufo: Sehe ich das richtig: du erzeugst ein Konsolenprogramm, das im zu idsentifizierenden Ordner zu liegen kommt, den GUID erzeugt und den aktuellen Pfad zurückgibt?
Nein, ich erzeuge eine Instanz einer Klasse und gebe der Klasse den Pfad mit. Dann kann ich abfragen, ob dieser Ordner schon initialisiert ist und entweder initialisieren und die ID abfragen oder eben direkt abfragen, wenn schon (irgendwann mal) initialisiert wurde.

Wo die Anwendung liegt ist also egal.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.196 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Guid erzeugen

  Alt 17. Mär 2016, 14:18
Hi zusammen

OK, ich habs gefunden:
Zitat:
Erstmal muss ich eine Frage stellen, für die ich nach längerem suchen keine Antwort finde. Wieso funktioniert das problemlos wird hier der Parameter 'Little' richtig erkannt:
TEndian ist in der Unit Types deklariert, nicht in Sysutils (DelphiXE8)...

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (17. Mär 2016 um 15:09 Uhr)
  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 08:40 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