Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Resources
Forum - Delphi - Resources

Avatar
formyvale (Normal User)
Rookie


Messaggi: 28
Iscritto: 19/11/2010

Segnala al moderatore
Postato alle 14:15
Sabato, 30/04/2011
Come si lavora in delphi con le resources? x esempio modificare stringhe di un'altro exe fatto in delphi..oppure l'icona?

grazie!

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 15:37
Sabato, 30/04/2011
per il cambio dell'icona ti rimando a http://www.pierotofy.it/pages/extras/forum/171/1024190-%5B ... dove ho già risposto, per le stringhe se prendi spunto dal cambio dell'icona credo che dovresti riuscirci, avevo fatto qualcosa un po' di tempo fa .. se trovo qualcosa lo posto


Ibis redibis non morieris in bello
PM Quote
Avatar
formyvale (Normal User)
Rookie


Messaggi: 28
Iscritto: 19/11/2010

Segnala al moderatore
Postato alle 17:00
Sabato, 30/04/2011
Non sono riuscito a capire. Il programma non cambia icona ad un'altro exe sempre fatto in delphi.

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 19:49
Sabato, 30/04/2011
il programmino è solo un esempio, cambia l'icona di qualsiasi file exe sia che sia fatto in delphi che in qualsiasi altro linguaggio


Ibis redibis non morieris in bello
PM Quote
Avatar
formyvale (Normal User)
Rookie


Messaggi: 28
Iscritto: 19/11/2010

Segnala al moderatore
Postato alle 1:38
Domenica, 01/05/2011
Allora sono riuscito a trovare un esempio googlando ancora...
X ki farà una ricerca su google e troverà questo topic ecco la soluzione..

Fate un programma e chiamatelo Server(ma nn è un server) e mettete questo code:
Codice sorgente - presumibilmente Delphi

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Memo1: TMemo;
  13.     procedure Button1Click(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     { Public declarations }
  18.   end;
  19.   Type TServerSettings = Record
  20.         szIpAddress             :String[255];
  21.  end;
  22.  
  23.  
  24. var
  25.   Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.Button1Click(Sender: TObject);
  32. Function ReadResourceFile(var ServerSettings:TServerSettings):Boolean;
  33. Var
  34.  hResInfoBlock  :Longword;
  35.  hResource                :Longword;
  36. begin
  37.  hResInfoBlock := FindResource(hInstance, 'MYSETTINGS', RT_RCDATA);
  38.  if hResInfoBlock <> 0 then
  39.   begin
  40.    hResource := LoadResource(hInstance, hResInfoBlock);
  41.    if hResource <> 0 then
  42.     begin
  43.       CopyMemory(@ServerSettings,LockResource(hResource),SizeOf(TServerSettings));
  44.     end;
  45.   end;
  46. end;
  47. var
  48.  ServerSettings :TServerSettings;
  49. begin
  50. ReadResourceFile(ServerSettings);
  51. Memo1.Text:='IP:'+ServerSettings.szIpAddress;
  52. end;
  53.  
  54. end.



invece x l'edit questo:
Codice sorgente - presumibilmente Delphi

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Edit1: TEdit;
  12.     Button1: TButton;
  13.     procedure Button1Click(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.   public
  17.     { Public declarations }
  18.   end;
  19. Type TServerSettings = Record
  20.         szIpAddress             :String[255];
  21. end;
  22.  
  23.  
  24. var
  25.   Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.Button1Click(Sender: TObject);
  32.  
  33. Function MakeLangID(P, S: Word): Integer;
  34.  Begin
  35.   Result := (S shl 10) or P;
  36.  End;
  37.  
  38. function WriteToResourceFile(ServerSettings:TServerSettings):Boolean;
  39. Var
  40.         hResource :Longword;
  41. Begin
  42.   Result := False;
  43.  
  44.   hResource := BeginUpdateResource('Server.exe',False);
  45.  if hResource <> INVALID_HANDLE_VALUE then
  46.   begin
  47.   if  UpdateResource(hResource, RT_RCDATA, 'MYSETTINGS', MakeLangID(LANG_NEUTRAL, SUBLANG_DEFAULT), @ServerSettings, SizeOf(TServerSettings)) then
  48.   Result := True;
  49.                 EndUpdateResource(hResource, False);
  50.   end;
  51. end;
  52. Var
  53.  ServerSettings :TServerSettings;
  54. begin
  55. FillChar(ServerSettings,SizeOf(TServerSettings),#0);
  56.   ServerSettings.szIpAddress  := Edit1.text;
  57.   if WriteToResourceFile(ServerSettings) = True then ShowMessage('Ip modificato con successo.')
  58.   else ShowMessage('Impossibile modificare l''ip.');
  59.   Halt(0);
  60. end;
  61.  
  62. end.


PM Quote