Ver Mensaje Individual
  #3  
Antiguo 28-10-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Reputación: 22
ixMike Va por buen camino
Bueno, la verdad es que no queda muy claro lo que quieres.

Mis modificaciones/sugerencias para el código serían:

• ¿Para qué es el código del FormCreate? Puedes poner los items del ComboBox en diseño, y si deseas hacerlo en Runtime, la comprobación que haces (Combobox.ItemIndex <> 0) es un poco extraña (¿si no está seleccionado el elemento 0?). Además, después del then te falta un begin.

• En el Button1Click, mejor sería ejecutar lo que ponga en el item del combobox, si es que estos pueden variar en algún momento. Es decir, quitar el case y poner WinExec(PChar(combobox1.items[combobox.itemindex]),SW_SHOWNORMAL); o mejor WinExec(PChar(combobox1.text),SW_SHOWNORMAL);

• Dentro del button1click, decirte que el ShellExecute tiene muchísimos más parámetros (mira la ayuda) y que has puesto por ahí un paréntesis de más.

• Siguiendo aquí, "notepad.exe" "calc.exe" no están en "C:\", sino en "C:\Windows\" y "C:\Windows\system32", usa el que más te guste.

• En el WinExec, el comando no es necesario ponerlo entre PChar(), a no ser que introduzcas una o más variables de tipo string o array of char.

Por último, si quieres poner la opción de Mostrar, pues coloca otro ComboBox, y los distintos valores en los items. SW_SHOWNORMAL y compañía son constantes numéricas. Para saber qué valor tienen, pues te improvisas una línea de código cómo esta: Caption:=IntToStr(SW_MAXIMIZE);
Tan sólo tendrías que hacer una comprobación (aquí sí es recomendable el case).


En fin, no sé si esta expliación te sirve, igual si nos explicas qué es lo que quieres hacer.


Saludos.
Responder Con Cita