AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie in Datei-Eigenschaften Dateiinfo schreiben?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie in Datei-Eigenschaften Dateiinfo schreiben?

Offene Frage von "Black07"
Ein Thema von Black07 · begonnen am 30. Jul 2007 · letzter Beitrag vom 31. Jul 2007
Antwort Antwort
Black07

Registriert seit: 10. Jun 2007
24 Beiträge
 
#1

Wie in Datei-Eigenschaften Dateiinfo schreiben?

  Alt 30. Jul 2007, 23:16
Hi,

habe ein Problem,

Wie kann ich Delphi (6) anweisen beim erstellen/editieren von *.INI/*.vi/*.info-Dateien,
welche alle auf txt-Code beruhen in die Datei-Eigenschaften Dateiinfo unter
dem Punkt "Autor" oder "Kommentar" zu schreiben.

Möchte dort gerne das zuletzt verwendete Edit-Programm (Mein Prog) und dessen
Version hinterlegen.

Ist sowas möglich?


Zweite Frage kann es Probleme geben - wenn die so veränderte Datei vom org.Programm
eingelesen wird?

thx
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie in Datei-Eigenschaften Dateiinfo schreiben?

  Alt 30. Jul 2007, 23:38
Guck mal hier: http://www.michael-puff.de/dirindex....phi/Programme/ -> SetFileInfo.zip

Diese Informationen werden im Dateisystem gespeichert und beeinflussen irgend welche anderen Programme nicht, es sei denn sie benötigen diese Informationen. Unterstützen tut das unter Windows aber nur NTFS. Diese Informationen gehen verloren, wenn die Datei auf einen nicht NTFS Datentäger kopiert wird bzw. sind gar nicht erst unter einem nicht NTFS Datenträger verfügbar.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Black07

Registriert seit: 10. Jun 2007
24 Beiträge
 
#3

Re: Wie in Datei-Eigenschaften Dateiinfo schreiben?

  Alt 31. Jul 2007, 00:25
Zitat von Luckie:
Guck mal hier: http://www.michael-puff.de/dirindex....phi/Programme/ -> SetFileInfo.zip

Diese Informationen werden im Dateisystem gespeichert und beeinflussen irgend welche anderen Programme nicht, es sei denn sie benötigen diese Informationen. Unterstützen tut das unter Windows aber nur NTFS. Diese Informationen gehen verloren, wenn die Datei auf einen nicht NTFS Datentäger kopiert wird bzw. sind gar nicht erst unter einem nicht NTFS Datenträger verfügbar.
Es ist so,
mein Programm vereinfacht das Editieren von Datenbanken bzw. erstellt neue DB-Dateien für ein Win32-Programm (Hauptsächlich auf WinXP teils noch 2000 bzw evtl. Vista32 - Daher gehe ich mal von NTFS aus oder arbeitet noch jemand mit FAT32).

Damit ich Fehler durch meinen externen Editor besser aufspüren/Patchen kann, dachte ich mir, da ich weder im DB-Dateinamen noch in der Datei Hinweise hinterlassen kann, das nur die Dateieigenschaften bleiben halt wie bei den MP3-Dateien, wo alles Mögliche wie Album,... inden Eigenschaften verewigt wird.

Das SetFileInfo.zip Programm ist recht umfangreich, gibt es keinen Code, mit dessen Hilfe ich sofort bei xxx.savetofile... diesen "Marker" in den Eigenschaften hinterlassen kann?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie in Datei-Eigenschaften Dateiinfo schreiben?

  Alt 31. Jul 2007, 09:30
Wenn du dir den Quellcode mal etwas genauer angeguckt hättest, hättest du gesehen, dass du eigentlich nur drei Routinen brauchst und die Unit Storage.pas:
Delphi-Quellcode:
function SaveFileInfo(Filename: string; mal: TMultipleArrayList): Boolean;
begin
  result := SetMultipleFileSummaryInfo(Filename, FMTID_SummaryInformation,
    mal);
end;

function FillFileInfoArray(StringGrid: TStringGrid): TMultipleArrayList;
begin
  SetLength(result, StringGrid.RowCount);
  with StringGrid do
  begin
    result[0].pidInfoStr := PChar(Cells[1, 0]);
    result[0].pidInfoType := PIDSI_TITLE;
    result[1].pidInfoStr := PChar(Cells[1, 1]);
    result[1].pidInfoType := PIDSI_SUBJECT;
    result[2].pidInfoStr := PChar(Cells[1, 2]);
    result[2].pidInfoType := PIDSI_KEYWORDS;
    result[3].pidInfoStr := PChar(Cells[1, 3]);
    result[3].pidInfoType := PIDSI_COMMENTS;
    result[4].pidInfoStr := PChar(Cells[1, 5]);
    result[4].pidInfoType := PIDSI_TEMPLATE;
    result[5].pidInfoStr := PChar(Cells[1, 5]);
    result[5].pidInfoType := PIDSI_AUTHOR;
    result[6].pidInfoStr := PChar(Cells[1, 6]);
    result[6].pidInfoType := PIDSI_REVNUMBER;
  end;
end;


procedure TForm1.btnSaveClick(Sender: TObject);
var
  FileFolder: string;
  mal: TMultipleArrayList;
resourcestring
  rsNoFile = 'Keine Datei ausgewählt';
begin
  mal := nil;
  try
    FileFolder := ShellListView1.Folders[FLastItem].PathName;
    SetLength(mal, StringGrid1.RowCount);
    mal := FillFileInfoArray(StringGrid1);
    SaveFileInfo(FileFolder, mal);
  except
    MessageBox(Handle, PChar(rsNoFile), APPNAME, MB_ICONWARNING);
  end;
end;
Bitte einfach mal etwas mehr Eigeninitiative zeigen.

Und 624 Zeilen, sind für dich umfangreich?
Michael
Ein Teil meines Codes würde euch verunsichern.
  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:09 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