![]() |
abrir programa con combobox1
Mirar la imagen
que modificacion le harian? que opinan sobre este codigo, se selecciona lo que se decea abrir en el combobox1 presionando el boton y se abre el probrama. Segun esto: Mostrar (Integer) especifica la forma en que se mostrará la aplicación especificada en NombreFichero. Hay varios valores posibles: SW_HIDE SW_RESTORE SW_SHOW SW_SHOWNA SW_SHOWNORMAL SW_SHOWDEFAULT SW_MAXIMIZE SW_MINIMIZE SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNOACTIVATE
aunque dicen que tambien funciona para abrir con:
saludos |
Entiendo lo que quieres hacer, pero ¿Cual es exactamente la pregunta? ¿Modificaciones respecto a qué? ¿Algun error?
Intentar ser más concreto en lo que necesitas. |
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. |
La franja horaria es GMT +2. Ahora son las 12:49:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi