Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda Ejecución de un Programa que este en la misma carpeta [Delphi 7] (https://www.clubdelphi.com/foros/showthread.php?t=78309)

Matabarras 07-04-2012 07:46:23

Ayuda Ejecución de un Programa que este en la misma carpeta [Delphi 7]
 
Bueno, soy Matabarras xD, uso delphi7 . y bueno

Estaba desarrollando un código que lo que hacia era bajar un archivo de nuestro ftp a nuestro ordenador este es el código que hice:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdFTP, IdComponent, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
FTP: TidFTP;    
Descargar : String;
Padescargar : String;   
begin
FTP := TIdFTP.Create ( nil );   
FTP.Username := 'aquimiusuario';  
FTP.Password := 'mipass';   
FTP.Host := 'mihost';   
try
FTP.Connect;
except
raise Exception.Create ( ' Introduce bien los datós del FTP ' ) ;
end;
FTP.ChangeDir('/holoscripter/');   
Descargar := 'a.exe';  
Padescargar := 'a.exe'; 
FTP.Get( Descargar , ExtractFilename(Padescargar), False ); 
FTP.Disconnect; 
FTP.Free; 
end;
end.

Vale tengo dos problemas, 1 que ponga en lo que ponga si pongo 'C:\a.exe'; en la 1 variable o en la 2 , con el operador = , el archivo sigue bajandose en la misma carpeta donde esta el programa entoncés eso me dificulta a hacer, que si después de bajarselo como hago que se ejecute la cmd sola y se abra el a.exe de la carpeta.

Esa seria una solución

Otra solución seria que me corrigerais para que fuera a un directorio , y me dijerais como llamar a la cmd en vb6 era Call Shell , pero en delphi ni idea, para que la llamara y ejecutara el código de xx ruta.

Gracias de antemano

Casimiro Notevi 07-04-2012 13:23:34

¿Ese idFtp es de las Indy?, mira algún ejemplo que trae, o haz una búsqueda por los foros, se ha tratado otras veces ese tema.
A ver si lo encuentras...

Matabarras 07-04-2012 15:46:56

Efectivamente que estoy usando la Libreria Indy es más ya hice un programa que los subiera, con el PUT, ahora estoy haciendo que los baje con el GET, pero aver si me podeis echar una mano, para elegir el directorio.

Y Otra manita, para ejecutar algo en la cmd, desde un boton en delphi.:confused:

Casimiro Notevi 07-04-2012 16:03:37

Por favor, recuerda leer nuestra guía de estilo, gracias por tu colaboración.

Sí, ya se ha entendido que no sabes cómo guardar lo que descargas en un directorio determinado, por eso te comentaba que miraras algún ejemplo que viene con las indy, e incluso ejemplos de código que encontrarás en otros temas similares al que has planteado, ya que no es la primera vez que se pregunta algo así en clubdelphi.

Además te recomiendo que siempre des los máximos detalles posibles, los componentes que usas, por ejemplo, en este caso era importante saberlo.

También te recuerdo que: "preguntas distintas tienen que ir en hilos distintos", no mezclemos las cosas.
Debes poner también títulos descriptivos, por ejemplo, en este caso has titulado: "ayuda ejecución de un programa en la misma carpeta...", cuando realmente lo que estás preguntando es: "¿cómo seleccionar el directorio de descarga para archivos por ftp?", cosa que no tiene nada que ver con el título.

Tampoco pienses que estoy "dándote un tirón de orejas", sólo estoy informándote sobre detalles a tener en cuenta y que todos debemos cumplir para que sea más cómodo luego encontrar información por cualquier usuario que esté buscando algún dato o tenga cualquier duda.

Todo esto que comento viene explicado muy resumidamente en nuestra guía de estilo.

Matabarras 07-04-2012 16:10:00

Claro, y tambien se nota que no sabes mirar las uses para ver lo que se usa, y fijarte que son de la libreria Indy.

También en més de ayudarme a corregir mi código, me estás diciendo que vaya a buscar ejemplos, yo quiero modificar mi código no el código de otros, y creo que lo que estoy pidiendo tampoco es muy dificil no(?)

Se ve que tu no has leido ni por asomo mi post te citare:


Cita:

cómo seleccionar el directorio de descarga para archivos por ftp cosa que no tiene nada que ver con el título.
Tu no sabes leer la parte donde dijo entoncés eso me dificulta a hacer, que si después de bajarselo como hago que se ejecute la cmd sola y se abra el a.exe de la carpeta.

Parece que no sabés leer, vaya shit xD, vine a que me ayudaran y me dicen que mire otros códigos guay xD

Casimiro Notevi 07-04-2012 16:20:32

Tienes razón, no sé leer, tendrá que ayudarte alguien que sepa.
Y ten cuidado, no vayas a mirar el código de otros, te vaya a contagiar su saber ;)

Matabarras 07-04-2012 16:23:38

Vale , ves a comer chanquetes xD.

Casimiro Notevi 07-04-2012 16:27:31

Está prohibido pescarlos, casi no quedan.

luisgutierrezb 07-04-2012 16:55:02

Bueno, el ver código de los demás, sirve mucho para ver que hace y como lo hace, y después aplicarlo en el tuyo, no hay nada mas bonito que ejecutando un código que tu hiciste con cero errores y cero warnings, aunque cabe decir, si compila, lo demás es vanidad jeje, pero bueno, yo no conozco los componentes indy, así que no te puedo proporcionar mucha ayuda, sin embargo me salta algo a la vista, recuerda que la función ExtractFilename obtiene solo el nombre del archivo, así que por mucho que pongas c:\carpeta\carpeta\archivo.yyy con la función quedara archivo.yyy lo cual al bajarlo, dejara el archivo en el directorio por default que es el del programa

Matabarras 07-04-2012 16:58:58

Gracias Luiz, encima casi tocayo mio.

Mira te cuento, tambien hice uno que subiera practicamente cambie PUT por GET, y use la función ExtractFilename, y podia elegir el directorio de subir del pc ajeno, así que no entiendo porque para bajar no puedo..

Se va arrojando más luz al post, gracias por tu interés , y por tu pequeña ayuda, todo viene bien saberlo.

Matabarras 07-04-2012 17:29:24

Bueno ya arregle yo solo una parte del código
Para que alguien le pasa igual si se fijan
FTP.Get( Descargar , ExtractFilename(Padescargar), False );
Mi codigo era este, osea esto se descargaba y se extraia en la carpeta entoncés

Lo cambie a este FTP.Get( ExtractFilename (Descargar) , Padescargar, False ); , que primo extraia lo descargo en el directorio que que yo le indicara que es el de la variable pa Descargar :D




Ahora solo queda saber, como ejecutar un programa externo sabiendo la ruta desde un botton en delphi, a traves de la cmd por ejemplo

Casimiro Notevi 07-04-2012 17:34:58

Por favor, recuerda poner las etiquetas al código, ejemplo:




.

Y ya he comentado antes que "preguntas distintas en hilos distintos".
Saludos.

.

Matabarras 07-04-2012 19:50:23

Cita:

Empezado por Casimiro Notevi (Mensaje 429512)
Por favor, recuerda poner las etiquetas al código, ejemplo:



.

Y ya he comentado antes que "preguntas distintas en hilos distintos".
Saludos.

.


Por Favor, deja de desvirtuar mi Post, troll, te pido que como el Post es mio y la pregunta es mia no comentes más en el, porque solo dices tonterías en mes de ayudar xD

Casimiro Notevi 07-04-2012 20:33:07

Por favor, intenta seguir las normas de nuestros foros, gracias por tu colaboración.

ecfisa 07-04-2012 20:39:28

Hola Matabarras.

Creo que estas confundido en tu concepto:

Cita:

Por Favor, deja de desvirtuar mi Post
Nadie ha desvirtuado tu mensaje, solo se te han indicado las reglas que todos seguimos en el foro y que has infringido. Casimiro sólo esta haciendo lo que debe hacer un moderador: Moderar.

Cita:

troll
Ese calificativo me causa gracia tratándose de Casimiro, él es poseedor de una extensa trayectoria que hace que sea inaplicable.

Cita:

que como el Post es mio
No es así. El mensaje una vez publicado es público.

Cita:

la pregunta es mia
Eso es cierto, la pregunta fue formulada por vos.

Cita:

no comentes más en el
Estos foros son libres y a nadie se le prohibe comentar en ellos exepto que atente contra las normas, ni siquiera a ti.

Cita:

porque solo dices tonterías en mes de ayudar
Lo único que leí fueron sugerencias a fin de que pudieras obtener mejores respuestas.

Saludos.

Matabarras 07-04-2012 23:11:01

Dime una sola sugerencia que haya echo ami duda, y si esta incumpliendo las normas, esta diciendo cosas no que vienen al tema, viene aser desvirtuar un post, el post es público evidentemente, pero para quedarme igual que antés, lo llego a pensar y ni me registro ni posteo nada.

Casimiro Notevi 08-04-2012 00:04:48

Para aliviar tu estado de ánimo, te comparto unas frases escritas por el gran JL Borges, "si tuviera otra vez la vida por delante":

Cita:

Si pudiese vivir nuevamente mi vida, cometería más errores, no trataría de ser tan perfecto, me relajaría más, sería más tonto de lo que he sido, me tomaría muy pocas cosas en serio, sería más sucio, correría más riesgos, haría más viajes, contemplaría más amaneceres, subiría más montañas, nadaría más ríos, iría a más lugares donde nunca hubiese ido, comería más helados y menos habas, tendría más problemas reales y menos imaginarios.

Yo fui una de esas personas que viven sensata y organizadamente cada minuto de su vida, viví momentos de alegría, pero la vida se hace de instantes, no te pierdas el Ahora. Yo nunca iba a ninguna parte sin termómetro, sin una bolsa de agua caliente, sin un impermeable, si pudiera volver a vivir, viajaría más liviano.

Si pudiera volver a vivir comenzaría a andar descalzo al principio de la primavera y seguiría así hasta concluir el otoño. Daría más vueltas, contemplaría más amaneceres, y jugaría con más niños… si tuviese otra vez la vida por delante.

Jorge Luis Borges

Matabarras 08-04-2012 00:34:01

Bonita poesia bueno a lo que vamos.

Ya me autosolucione mi segunda duda, para que se ejecutara el archivo que quisiera en este caso el bajado hice despues que desconectara el ftp:
Código Delphi [-]
ShellExecute(Handle, 'open', 'c:\aa.exe', nil, nil, SW_SHOWNORMAL) ;
y listo.

Ya pueden cerrar el tema, gracias por su NO ayuda.

Casimiro Notevi 08-04-2012 01:12:31

Que sea usted muy feliz.

geolife 10-04-2012 18:04:10

Es realmente encomiable la paciencia y generosidad que muestran en el club! :), y más cuando aparecen nuevos participantes como el "propietario de su post...". ;). Esta claro que aquí además de compartir sus valiosos códigos en programación, enseñan también "buenos códigos de conducta" !



Cita:

Empezado por Casimiro Notevi (Mensaje 429531)
Que sea usted muy feliz.



La franja horaria es GMT +2. Ahora son las 12:31:39.

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