Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Main Menu y Botones (https://www.clubdelphi.com/foros/showthread.php?t=80274)

feliz-58 14-09-2012 02:35:20

Main Menu y Botones
 
Tengo 2 Botones en un formulario. Digamos que cada uno abre un txt, El caption del 1 se llama Informacion y el caption del 2 se llama Ayuda, ejemplo:

Boton 1 (Informacion):

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', 'C:/prueba1.txt', nil, nil, SW_SHOWNORMAL);
end;

Boton 2(Ayuda):

Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', 'C:/prueba2.txt', nil, nil, SW_SHOWNORMAL);
end;

Agrege un MainMenu, en la primera opcion, Tengo Cambiar Ruta De informacion y En la seguna Tengo Cambiar ruta De Ayuda.

Lo que quiero hacer es que despues de haber complilado el ejecutable, por el MainMenu, poder cambiar la ruta de donde se encuentran los archivos, si antes se encontraban en ''C:/" Cambiarlo por ejemplo a ''D:/'' sin tener que volver a modificar el proyecto.


Seria un alivio Si me pudieran ayudar... :D

//Gracias

cancun 14-09-2012 02:39:28

Hola


Y de que manera lo quieres cambiar? Se me ocurre que podrias usar un archivo .INI y si no existe lo creas usando la clase TIniFile (me parece) y allí puedes guardar la ruta, espero haber entendido tu pregunta.


Saludos

Caral 14-09-2012 02:40:27

Hola
Hay muchas formas de hacerlo, una de ellas es usar un opendialog.
Saludos

feliz-58 14-09-2012 02:55:18

Es que...
 
No tengo ni idea de como, no soy muy experto,así que expresen sus teorías.

Me serían de gran ayuda.

//gracias amigos.

Caral 14-09-2012 03:06:13

Hola
Un ejemplo muy sencillo:
Digamos que tienes un mainmenu en este tienes dos caption.
Digamos que son: uno y dos.
Pones una variable global en donde esta el tform aqui:
Código Delphi [-]
var
  Form1: TForm1;
   dato: String;
implementation
La variable dato tendra el dato (perdona la redundancia) de lo que necesitas, ahora ponemos en cado menu esto:
Código Delphi [-]
procedure TForm1.unoClick(Sender: TObject);
begin
   dato := 'C:/';
end;

procedure TForm1.otro1Click(Sender: TObject);
begin
 dato := 'D:/';
end;

end.
Ahora presionaremos los botones con tu codigo pero con la variable:
boton 1
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', +dato+'prueba1.txt', nil, nil, SW_SHOWNORMAL);
end;

boton 2
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', +dato+'prueba2.txt', nil, nil, SW_SHOWNORMAL);
end;
Saludos

feliz-58 14-09-2012 03:13:40

Probar
 
Ok amigo, voy a probar, si me funciona te lo hago saber,muchas gracias.

//Saludos

Caral 14-09-2012 03:50:51

Hola
Perdona la variable tiene que ser Pchar, asi:

Código Delphi [-]
var
  Form1: TForm1;
   dato: PChar;
implementation

Y usarlo asi:
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', PChar(dato+'prueba1.txt'), ' ', ' ', SW_SHOWNORMAL);
end;


procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShellExecute (Handle, 'open', PChar(dato+'prueba2.txt'), ' ', ' ', SW_SHOWNORMAL);
end;
Saludos

feliz-58 14-09-2012 04:05:49

Gracias
 
Gracias, Funciono Perfectamente...

Estaba Analizando el anterior y me daba error y ya hiba a notificarte y me llego tu correo jaja...

Fue de mucha ayuda, Gracias amigo.

//Saludos:D

Caral 14-09-2012 04:12:36

Hola
^\||/
Saludos

Gerson12 16-09-2012 22:21:14

hola bueno espero esto tambien te pueda ayudar
puedes poner en un edit la direcion de el archivo bueno es algo muy simple pero ahora no tengo puesto el delphi para ver si te puedo ayudar
ShellExecute (Handle, 'open', Edit1.text, nil, nil, SW_SHOWNORMAL);


La franja horaria es GMT +2. Ahora son las 19:44:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi