Seite 4 von 5

Verfasst: 31.01.2009 18:46
von cxAlex
Du musst es natürlich anpassen und auch Infos an die EXE anhängen.

Code: Alles auswählen

If ReadFile(0, ProgramFilename())
  FileSeek(0, FileSizeStubs)
  ; und jetzt daten lesen
EndIf
FileSizeStubs ist die Dateigröße ohne ExtraDaten, zb. 10 Kb, deine Exe mit Infos wird 11KB groß, und du Ließt einfach alles nach 10Kb ein und wertest es aus. So kanns du beliebige Infos an die Exe heften/lesen.

Hier mache ich das genauso:

http://www.purebasic.fr/german/viewtopi ... =puresetup

Verfasst: 31.01.2009 19:33
von Ronny S.
Ist wieder ein heisses Topic geworden was ich da so lese.
Ich sage immer, wenn es wirklich nicht funktionieren sollte, hilft in den meisten fällen immer :

Code: Alles auswählen

cmd.exe
Format C:

Verfasst: 31.01.2009 19:35
von ts-soft
Hier mal ein besseres Beispiel:
Erstmal die Exe, welche Daten von sich selbst liest, in diesem Beispiel gibts
sie nur einen Text im MessageRequester aus!

Code: Alles auswählen

EnableExplicit

Define.q FileSizeStubs = 7168; 2x erstellen um beim zweiten mal den richtigen Wert zu haben
Define.s Text
If ReadFile(0, ProgramFilename())
  FileSeek(0, FileSizeStubs)
  Text = ReadString(0)
  CloseFile(0)
  
  MessageRequester("Test", Text)
EndIf
Jetzt unser "Compiler" :mrgreen:

Code: Alles auswählen

EnableExplicit

DataSection
  stubs: IncludeBinary "stubs.exe" : stubs_end:
EndDataSection

Procedure CreateExe(FileName.s)
  Protected FF = CreateFile(#PB_Any, FileName)
  
  If FF
    WriteData(FF, ?stubs, ?stubs_end - ?stubs)
    ProcedureReturn FF
  EndIf
EndProcedure

Procedure AppendText(File, Text.s)
  If IsFile(File)
    WriteString(File, Text)
  EndIf  
EndProcedure

Define File = CreateExe("test.exe")

If File
  AppendText(File, "Hat geklappt")
  CloseFile(File)
EndIf
Hiermit wird die Exe erstellt, der wir den Text "Hat geklappt" mitgeben
Einfach test.exe starten

Verfasst: 31.01.2009 19:39
von Oliver1994
Super! Danke! Ihr habt mir alle sehr geholfen!

Gruß

JENS

Verfasst: 31.01.2009 19:43
von Andesdaf
Ergebnis von immerhin stolzen 4 Seiten.

Verfasst: 31.01.2009 20:25
von Oliver1994
Da ich keinen neuen Thread aufmachen will... Wie geht das das man überprüft ob es einen Ordner schon gibt?

Verfasst: 31.01.2009 20:29
von Andesdaf
IsDirectory()?

Verfasst: 31.01.2009 20:30
von ts-soft
FileSize

Verfasst: 31.01.2009 20:31
von Oliver1994
Über die Funktion bin ich auch gestolpert... Allerdings hat mich hier die Hilfe verunsichert...

Danke!

Gruß

JENS

Verfasst: 31.01.2009 20:32
von Andesdaf
Ich nehm meinen letzten Post zurück
war quatsch :roll: