AGB  ·  Datenschutz  ·  Impressum  







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

Servergenerator

Ein Thema von storm1988 · begonnen am 9. Okt 2005 · letzter Beitrag vom 9. Okt 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#11

Re: Servergenerator

  Alt 9. Okt 2005, 16:43
THX und wie kann ich des jetzt mit einem anderen Programm auslesen bzw. ändern???
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#12

Re: Servergenerator

  Alt 9. Okt 2005, 16:45
Oder: Programmname: Server_5000.exe -> Port = 5000
also liest das Programm den Port aus dem Dateinamen aus.
Wie wäre es damit?
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Servergenerator

  Alt 9. Okt 2005, 16:54
er hat doch geschrieben, wie er es will
@topic: ich weiß nicht wie das geht
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#14

Re: Servergenerator

  Alt 9. Okt 2005, 17:26
Du kannst nach dem Compilieren deiner exe mit einem anderen selbst geschriebenen Programm den Port als String an die exe anhängen, also so, dass er, wenn du die exe mit dem Notepad öffnest, als letztes im Binärdurcheinander steht. Die exe stört das nicht, die läuft wie vorher.
Jetzt könntest du es so machen, dass dein Programm sich selbst kopiert, aus dieser Kopie den Port wieder ausliest und die Kopie letztendlich wieder löscht.
Hoffe das war verständlich
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#15

Re: Servergenerator

  Alt 9. Okt 2005, 18:01
Des kommt mir aber auch reichlich kompliziert vor. Würde es nicht einfach gehen, dass ich den Speicherort wo der Port in der exe gespeichert ist raus finde (resourcestring) und ihn dann vor dem start mit einem selbst programmierten Programm ändere???
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Servergenerator

  Alt 9. Okt 2005, 18:09
Das mit dem einfach hinten dranhängen ist doch noch einfacher. Du müsstest doch nur dein Proggy in einen Stream lesen und die letzten 6/7/wasauchimmer Zeichen in nen String lesen und den mit StrtoInt behandeln.

Ratte

EDIT: habs eben probiert, geht wirklich.
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#17

Re: Servergenerator

  Alt 9. Okt 2005, 18:17
Könnte man machen, kommt ja fast auf das Selbe raus.
Aber meine Alternative ist nicht grade kompliziert
Hier mal ein Beispiel:
Du hast deinen fertig compilierten Server (Server.exe).
So, jetz machst du dir folgendes Prog...
Delphi-Quellcode:
var
  F: File;
  Port: String[5];
begin
  Port := '159'; //Port auf 159 setzen, der String "Port" bleibt trotzdem 5 Zeichen lang!!
  AssignFile(F, 'Server.exe');
  Reset(F, 1);
  Seek(F, FileSize(F)); //Ganz an das Ende der Datei gehen
  BlockWrite(F, Port, SizeOf(Port)); //Port schreiben
  CloseFile(F); //Datei schließen
end;
UNGETESTET!!
Jetzt Server.exe mit Notepad öffnen.
Ganz hinten müsste jetzt der Port 159 stehen, mit 2 Leerzeichen dahinter, da der String Port ja in jedem Fall 5 Zeichen lang sein soll (Macht das Ganze viel einfacher).
So, Server.exe kann beim Start jetzt Folgendes tun...

Delphi-Quellcode:
var
  F: File;
  Port: String[5];
begin
  CopyFile('Server.exe', 'Server_temp.exe', False); //Kopie erstellen
  AssignFile(F, 'Server_temp.exe');
  Reset(F, 1);
  Seek(F, FileSize(F) - 5); //Dateizeiger an den Anfang des Portstrings, der ja immer 5 lang ist
  BlockRead(F, Port, SizeOf(Port)); //Port aus Datei in den String "Port" schreiben
  CloseFile(F); //Datei schließen
  DeleteFile('Server_temp.exe'); //Datei löschen
end;
UNGETESTET!!
Fertig
Hoffe man kanns nachvollziehen.

//EDIT: Roter Kasten is da....Hab mit so viel Mühe gegeben ... Ich schreibs trotzdem mal
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#18

Re: Servergenerator

  Alt 9. Okt 2005, 19:24
THX für die Hilfe, funktioniert einwandfrei!!!!
Mfg st0rm

There are no stupid questions. Just stupid people.
  Mit Zitat antworten Zitat
Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Servergenerator

  Alt 9. Okt 2005, 20:00
BlockRead und BlockWrite, wo ist da der unterschied zu Read und Write??

Rausgefunden hab ich das Block* das binär liest oder schreibt, aber warum muss man das machen?
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#20

Re: Servergenerator

  Alt 9. Okt 2005, 20:16
Daraus lässt sich schließen, dass du kein Englisch kannst
Read = Lesen
Write = Schreiben

BlockRead liest Dateien binär und BlockWrite schreibt sie binär...
Chuck Norris has counted to infinity ... twice!
  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 22:41 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