• Domingo 17 de Noviembre de 2024, 22:50

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - el_shanky

Páginas: 1 ... 3 4 [5] 6 7
101
C++ Builder / Re: Crear Una Clase
« en: Jueves 10 de Abril de 2008, 18:42 »
lo que vos queres es crear una clase?? Mirá me parece que si es solo una la tienes que crear en un ".h" y no un ".hpp". Igual no stoy muy seguro cual es la diferencia entre estos 2...

Pero en el Builder eso seguro te va a andar.

Salu2

102
C++ Builder / Re: Temporizador En Consola
« en: Jueves 10 de Abril de 2008, 08:56 »
jaja para eso stamos man!

No me cuesta nada abrir el builder y probar! ade+ sirve para terminar de asentar conocimientos!

Exitos en tus proyectos Elforious!  :beer:

103
C++ Builder / Re: Temporizador En Consola
« en: Jueves 10 de Abril de 2008, 02:47 »
Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #include <conio.h>
  6. #include <iostream.h>
  7. #pragma hdrstop
  8.  
  9. //---------------------------------------------------------------------------
  10.  
  11. #pragma argsused
  12. int main(int argc, char* argv[])
  13. {
  14. cout << "espera 5 segundos...";
  15. ::Sleep(5000);
  16. cout << "Dale no mas!";
  17. getch();
  18. }
  19. //---------------------------------------------------------------------------
  20.  
  21.  

salu2!

104
C++ Builder / Re: Duda De Compilacion
« en: Miércoles 9 de Abril de 2008, 08:53 »
creo que la onda sta en incuile los archivos que te falten en el casillero que se encuentra en Project->Options->Solapa "packages" ->RuntimePackages...

Fijate con eso y despues me contas igual nunca temrino de entender bien si es así.. siempre ermino copiadno losa rchivos que me faltan en la misma carpeta donde sta mi programa y listo... :S

Speroemos que te sirva... salute

105
C++ Builder / Re: Eliminar Filas En Un Stringgrid
« en: Sábado 5 de Abril de 2008, 03:47 »
Sisi con esa simplifiqué uno de los ciclos while que puse arriba... pero siguo sin entender x que existen funciones que no se permite usar... :S

106
C++ Builder / Re: Heuristica
« en: Viernes 4 de Abril de 2008, 20:42 »
Tengo entendido que los algoritmos de busqueda y ordenamiento de las STL usan algoritmos heruísitcos...

Fijate x ese lado...
Salute

107
C++ Builder / Crear Un Splash Screen
« en: Viernes 4 de Abril de 2008, 11:44 »
Escribo este "tutorial" para mis amigos que me preguntaban como hacer una ventana de bienvenida... asi que ahora solo los linkeo a esta página y listo! Tmb par ami que mi memoria es muy mala y tengo que abrir proyectos anteriores para fijarme "como era que se hacia tal cosa..." así que ahora ya lo tengo aca... Y tmb para todos aquellos que puedan necesitar esta información ya que no se consigue facilmente en internet, x lo menos yo no la conseguí de manera facil...

El Splash Screen, también llamada ventana de inicio, ventana de bienvenida, Intro, y otras varias formas mas... (pongo todas las formas que conozco de decirle para que aparezca en el búscador del foro, ustedes pongan los nombres que conocen tmb así le facilitamos a la gente que busque info sobre esto...) aunque no es muy util, mejora estéticamente el programa y es muy usado ultimamente;

Empecemos:
Un Splash Screen sencillo y rápido es posible hacerlo creando un formulario nuevo, luego le cambiamos el nombre a "SplashScreen" en el ObjetInspector (opcional), luego le ponemos la opcion AutoSize en true para que no se la pueda dimensionar con el mouse, luego le damos a la opcion BorderStyle y elegimos bsNone;

Hasta aquí ya tenemos el formulario pelado, si quieren compilen y fijense como les queda (van a ver un cuadrado solo)

Luego le insertamos un TImage que se encuentra en la solapa Additional, una vez insertado el  Image le damos a las siguientes opciones: en Align elegimos alClient lo que alineará el TImage a todo el formulario, luego en Strech elejimos true que dimensiona la foto automáticamente al tamaño del Image.

Hasta aquí ya va tomando forma nuestro SplashScreen, solo resta elegir la imagen que se puede hacer seleccionando los 3 puntitos suspensivos de la Opción picture y elijiendo la imagen emdiante el Dialog que aparece o tmb mediante código
Código: Text
  1.  
  2. SplashScreen->Image1->Picture->LoadFromFile("Direcion fisica del archivo");
  3.  
  4.  
(obviamente todas las opciones del objet inspector se pueden hacer mediante código tmb...)

Luego solo nos resta abrir el archivo principal Project1.cpp o el que sea de acuerdo al nombre del programa que le dieron, x ej: miprograma.cpp[/size] que contiene las invocaciones de las funciones de mas alto nivel de nuestro programa...

Y cambiar  el código indicado en las respectivas partes por el mismo código que dice pero con el nombre que le dieron ustedes (si es que no le pusieron SplashScreen como yo) :

IMPORTANTE: Mi formaulario se llama SplashScreen y mi header (.h) se llama Unit4.h

Código: Text
  1.  
  2.  
  3. //---------------------------------------------------------------------------
  4. #include "Unit4.h" //ESTA LINEA LA PUSE YO |Incluir el .h correspondiente al form Splash Screen
  5.  
  6. #include <vcl.h>
  7. #pragma hdrstop
  8. //---------------------------------------------------------------------------
  9. USEFORM("Unit1.cpp", Form1);
  10. USEFORM("Unit2.cpp", Form2);
  11. USEFORM("Unit3.cpp", Form3);
  12. USEFORM("Unit4.cpp", SplashScreen);
  13. //---------------------------------------------------------------------------
  14. WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
  15. {
  16. try{//ESTA LINEA LA PUSE YO | Creen un try
  17.         try
  18.         {
  19.                  Application->Initialize();
  20.         SplashScreen = new TSplashScreen(NULL);/*ESTA LINEA LA PUSE YO | cambiar SplashScreen x el nombre que le hayan puesto ustedes*/
  21.         SplashScreen->Show();//ESTA LINEA LA PUSE YO
  22.         SplashScreen->Repaint();//ESTA LINEA LA PUSE YO |
  23.                  Application->CreateForm(__classid(TForm1), &Form1);
  24.                  Application->CreateForm(__classid(TForm2), &Form2);
  25.                  Application->CreateForm(__classid(TForm3), &Form3);
  26.                  Application->CreateForm(__classid(TSplashScreen), &SplashScreen);
  27.                  Application->Run();
  28.         }
  29.         catch (Exception &exception)
  30.         {
  31.                  Application->ShowException(&exception);
  32.         }
  33.         catch (...)
  34.         {
  35.                  try
  36.                  {
  37.                          throw Exception("");
  38.                  }
  39.                  catch (Exception &exception)
  40.                  {
  41.                          Application->ShowException(&exception);
  42.                  }
  43.         }
  44.        
  45.     }//ESTA LINEA LA PUSE YO | cierren aqui el try luego de los catch
  46.  
  47.     __finally{                             //ESTA LINEA LA PUSE YO
  48.                 if(SplashScreen)       //ESTA LINEA LA PUSE YO
  49.                 delete SplashScreen;//ESTA LINEA LA PUSE YO
  50.              }                                //ESTA LINEA LA PUSE YO
  51.  
  52.         return 0;
  53. }
  54. //---------------------------------------------------------------------------
  55.  
  56.  
  57.  
  58.  

Una vez alterado el código de este archivo solo resta ir al evento OnShow del formulario que aparece primero, en mi caso Form1 y poner el siguiente código:

Código: Text
  1.  
  2.  
  3. #include "Unit4.h"//recuerden incluir el header!!!
  4.  
  5. void __fastcall TForm1::FormShow(TObject *Sender)
  6. {
  7.  
  8. if(SplashScreen){
  9.   ::Sleep(4000); //demora 4 segundos la aprición del Form1
  10.   delete SplashScreen;
  11.   SplashScreen = NULL;
  12.   } //end if
  13.  
  14. }
  15.  
  16.  
  17.  

Solo resta compilar y fijarse!!!

Pero con esto ya deberían tener un SplashScreen funcionando x 4 segundos

Spero les haya servido! Y si se les ocurren mejoras posteanlas!


Tanto trabajo merece  :beer:  jajaja Me fuí! Salute!

108
C++ Builder / Re: Nueva Ventana Tras "onclick" En Boton
« en: Viernes 4 de Abril de 2008, 04:02 »
Lo que dice AnimaSubtilis es buena idea para no aher otro form mas...
x que sinó lo mas normal es hacer ese form nuevo que te digo y cargas la imagen ahí...


Código: Text
  1.  
  2. Form1->Hide();
  3. Form2->Image1->Picture->LoadFromFile(Form1->OpenPictureDialog->FileName);
  4. Form2->Show();
  5.  
  6.  

Y si la idea es dejarla como una imagn de bienvenida x un tiempo detemrinado.. buscá info sobre Splash Screen en internet... ya despues voy a crear un post sobre eso.

Spero que te sirva! salute


RE:
HAA busqué mal antes... si hay algo sobre Splash screen en el foro! fijate que te puede servir!

109
C++ Builder / Re: ¿porque Se Me Queda Colgado El Programa?
« en: Jueves 3 de Abril de 2008, 20:28 »
Estas tratando de cargar una imagen jpg seguramente...

lo que tenes que ahcer es incluir esto:

Código: Text
  1.  
  2.  
  3. #include "jpeg.hpp"
  4.  
  5.  
  6.  

Cone so seguramente ya te va a andar de 10!

exitos!

110
C++ Builder / Click En Fixedcols
« en: Jueves 3 de Abril de 2008, 12:19 »
Necesito poder clickear en las fixed cells (tmb llamados cell headers) de mi StringGrid!

Y me resulta raro que no haya alguna opción que habilite las fixedcells como botones...

Si alguien sabe como hacer esto se lo agradeceré!

Mientras yo siguo  :comp:

salute

111
C++ Builder / Re: Asignación De Un Color
« en: Jueves 3 de Abril de 2008, 11:57 »
Lo normal sería asignar con el nombre del colon y no con el número

Código: Text
  1.  
  2.  
  3. FormOrdenes->GroupBox1->Color=clSkyBlue
  4.  
  5.  
  6.  


Si queres saber todos los otros ccolores que tenes solo tenes que fijarte en el objet inspector sobre cualquier objeto que permita ser coloreado (x ejemplo el mismo Form) y fijarte en la parte de color ahí se despliega un montón de colores, fijate el que mas te guste, memorizalo y escribilo en tu código!

exitos!

haa tmb pods hacerlo de la manera RGB:


Código: Text
  1.  
  2.  
  3. FormOrdenes->GroupBox1->Color=TColor(RGB(255,230,204));
  4.  
  5.  
  6.  


spero te sirva!

EI: Juntando mensajes, no hace falta crear uno nuevo si no hubo respuesta.

112
C++ Builder / Re: Eliminar Filas En Un Stringgrid
« en: Jueves 3 de Abril de 2008, 11:52 »
Siguiendo investigando encontré que existe una función que es:


Código: Text
  1.  
  2.  
  3. StringGrid1->Rows[1]->Delete(1);
  4.  
  5.  
  6.  

La cual debería andar y borrarme la fila uno, y compila lo mas bien pero al momento de ejecutar esa parte del código salta un error diciendo (LO DE LA IMAGEN)


Etonces deduzo que si tiene ese error y esa función... es x que se debe poder eliminar una fila... alguien sabe como pasarla x alto a esa restricción?


Bué me aprece que me stoy haciendo mucho bardo al pedo... igal si alguien sabe de esto que hablo que me explice x favor!

gracias

113
C++ Builder / Re: ¿porque Se Me Queda Colgado El Programa?
« en: Miércoles 2 de Abril de 2008, 20:42 »
BIEN AHÍ!!!!! Así que vas a usar el OpenDialog???
Y SI es un examinar! Es el mismo que usa windows para todas sus aplicaciones que te permitan seleccionar un archivo en tu disco.

Bueno como te decian aca los vagos existe uno puntual que sirve para imágenes. que es el OpenPictureDialog que tmb se encuentra en la solapa dialogs.

Basta con ponér un botón en algún lado par llamar a este OpenPictureDialog de esta manera...

Código: Text
  1.  
  2. void __fastcall TForm1::BitBtn1Click(TObject *Sender)
  3. {
  4. if(OpenPictureDialog1->Execute())//Lo pongo dentro de un if en caso de que se apriete el boton CANCELAR
  5. Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
  6. }
  7.  
  8.  

Y listo ya vas a tener un dialogo que te va a permitir buscar la imagen y previsualizarla! !! Spero que te haya servido!

exitos

114
C++ Builder / Re: Eliminar Filas En Un Stringgrid
« en: Miércoles 2 de Abril de 2008, 20:25 »
AL fin y al cabo es String Grid es una porquería!!!  :angry:

Bué lo que hice para zafar es en realidad borrar cada celda del stringgrid y luego descontarla...

Código: Text
  1.  
  2.  
  3. int cont=Form1->StringGrid1->RowCount;//Pongo la cantidad de filas en un contador
  4.  
  5. while(cont!=0){//este while me borra todas las celdas de cada fila poniendoles ""
  6. for(int i=0;i<6;i++)
  7.         Form1->StringGrid1->Cells[i][cont]="";
  8. cont--;
  9. }//end while
  10.  
  11. cont=Form1->StringGrid1->RowCount;//vuelvo a poner el contador al max de filas
  12.  
  13. while(cont!=2){//Ahora elimino las filas que estan de mas (TODAS MENOS 1)
  14.         Form1->StringGrid1->RowCount--;
  15.         cont--;
  16. }//en while
  17.  
  18.  
  19.  
  20.  

Esto logra mi cometido pero la verdad me parece medio rebuscado...

Me desilusiona que el stringGrid no tenga una función tan básica como la que busco.

Ahora, lo que yo buscaba era limpiar todas las celdas, en el caso de tener que limpiar solo una lo que vos me decis Elforious es corecto, sería cuestion de eliminar el contenido de las celdas de esa fila y luego subir todas las filas una mas arriba.

Gracias igual! salute

115
C++ Builder / Eliminar Filas En Un Stringgrid
« en: Martes 1 de Abril de 2008, 09:47 »
Me encuentro trabajando en un StringGrid y se me presenta la necesidad de eliminar una fila completamente.

Si alguien sabe de como hacer esto de forma sencilla o si alguien sabe de alguna función del StringGrid que logre esto, le estaré muy agradecido.

Mientras la sigo peliando...
 :lightsabre:  :lightsabre:  :lightsabre:

116
C++ Builder / Re: Caracter \
« en: Martes 1 de Abril de 2008, 05:19 »
Asúmo que si estas buscando ese caracter es x que debe ser un path.. y así como dedujiste vos los path de tipo string deben contar con doble barra par separar las carpetas ----> \\

Código: Text
  1.  
  2. //Ejemplo que stoy usando ahora casulamente
  3.  
  4. Image1->Picture->LoadFromFile("C:\\Documents and Settings\\Administrador\\Escritorio\\Disk D-B\\Pics\\evilmonkey.jpg");
  5.  
  6.  
  7.  

Calculo que es x esto que te anduvo!
Exitos

117
C++ Builder / Re: Simular Un Click En Una Fila Del Stringgrid
« en: Lunes 31 de Marzo de 2008, 02:19 »
jajaja de nada amigo! Que bueno haberte diso de ayuda!

Lo que si hay que remarcar la diferencia entre declarar una funcion de un evento que lo hacemos usulamente con doble click en la funcion que dice en el Objet Inspector y otra difernet es invocar a ESA funcion mediante otra! Es solo eso!

Un abrazo!
exitos

118
C++ Builder / Re: ¿porque Se Me Queda Colgado El Programa?
« en: Domingo 30 de Marzo de 2008, 23:09 »
Pero x que en el ONkeyPress del Edit? :S x que no le pones un botón que loa priete cuando ya hya escrito el path en su totalidad???

Aunque si me preguntas a mi yo te recomendaria fuertemente que uses un OpenDialog, no solo te lo deja estéticamente mejor sinó que te previene de que el usuario se equivoque al escribir el path de la imagen lo que es mooooy común que pase!!!

Yo te recomiendo eso, OpenDialog que se encuentra en la solapa Dialogs...

Ya si queres ahcerlo de esa menra igual.. no c tendria que ver bien el código...
Avisame cualqueir cosa!

salute

119
C++ Builder / Re: Simular Un Click En Una Fila Del Stringgrid
« en: Domingo 30 de Marzo de 2008, 23:00 »
Tenes que invocar a la funcion OnSelectCell...

Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. void __fastcall TForm1::BitBtn1Click(TObject *Sender)//boton que simula el click del mouse sobre una celda
  5. {
  6. StringGrid1->OnSelectCell(Sender,2,2,true);//simula el click de la celda [2][2]
  7. }
  8. //---------------------------------------------------------------------------
  9.  
  10. void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
  11.       int ARow, bool &CanSelect)
  12. {
  13. if(ACol==2 && ARow==2)//verifica que se clicke la celda 2-2
  14.         ShowMessage("MUESTRA LA CELDA 2-2");//muestra un texto en caso de que pase
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18.  

Espero haberte aclarado tu duda! salu2!

120
C++ Builder / Re: Variables En Los Diferentes Form
« en: Sábado 29 de Marzo de 2008, 22:07 »
Mirá para tu orden de programación si vas a usar una variable en mas de una funcion (Y MAS SI LA VAS A USAR EN OTRO FORM) te conviene crearla de forma mas global.

Tenés que tener en cuenta que cada Form en si es una Clase, etnocnes teniendo en cuenta esto solo tenes que crear en el header (*.h) la variable y así podras accederla de forma directa desde caulquier otro unit teniendo en ceunta las inclusiones que te dijo saulillo.

Espero que me hayas ntendido.

Sinó avisame y te lo xplico mejor! Pasa que stoy con resaca ahora! jajaja :beer:

121
C++ Builder / Re: Reconocimiento De Caracteres Manuscritos!!
« en: Miércoles 26 de Marzo de 2008, 07:22 »
No es por tirarte abajo pero me parece una empresa muy compleja como para que la lleves a cabo solo! Es como querer crear un Corel! Y ni hablar de la necesidad de conocimientos en programacion y otras varias tecnologías...

Si te sirve aca tenes un par de tecnologías OCR (Reconocimiento óptico de caracteres) libres donde quizas te puedan servir en tu proyecto

http://es.wikipedia.org/wiki/Reconocimient...o_de_caracteres


exitos  :unsure:

122
C++ Builder / Re: Coordenadas Donde Clickea El Raton En Builder
« en: Miércoles 26 de Marzo de 2008, 07:02 »
Amigo el evento OnClick lo que te permite es efectuar alguna rutina al momento del click del mouse, ahora para que nos sirve?
Nos sirve x ejemplo para marcar el momento preciso donde se encuentra nuestro mouse al momento del click! (que es lo que vos estas necesitando), entonces lo que debes hacer es utilizar el OnClick con otra funcion que te de la posición donde se encuentra el mouse en ese momento!
Aquí es donde entra GetCursorPos que te aocnsejo que leas la ayuda del Borlan para entender bien su uso pero a groso modo te cuento que recive un objeto TPoint (que es un struct) con 2 variables en su interior... X e Y! Y al pasarlas x referencia ya sta!

Este código te lo va  a explicar mejor:

NOTA: OJO! yo uso un TImage para contener la imagen! y calculo que vos debes ahcer lo mismo!

Código: Text
  1.  
  2. void __fastcall TForm1::Image1Click(TObject *Sender) // en el OnClick del Image1
  3. {
  4. TPoint P;//creo un objeto P del tipo TPoint
  5. GetCursorPos(&P);//llamo a la funcion mandando el TPoint x referencia
  6. ShowMessage(P.x);//muestro el valor que adquiere x
  7. ShowMessage(P.y);//muestro el valor que adquiere y
  8. }
  9.  
  10.  

Obviamente P.x y P.y son variables de tipo entero asi que puedes usarlas como tal en tu subrutina!

Spero te haya solucionado tu problema! Exitos!   :hola:

123
C++ Builder / Re: String To Ansistring
« en: Martes 25 de Marzo de 2008, 08:13 »
ya x la página 8 de mi busqueda en google encontré que usaban el cambio a c_str x parte del string para luego igualarlo al AnsiString... pensé que no hiba a funcionar pero lo hace!

Código: Text
  1.  
  2. string s="hola";
  3. AnsiString S=s.c_str();//esta transformacion si es correcta
  4.  
  5. ShowMessage(S);
  6.  
  7.  


X lo que leí el string es unicode.. o algo así!

El que me pueda aclarar la diferencia entre string, c string y AnsiString se lo agardeceré!

124
C++ Builder / String To Ansistring
« en: Martes 25 de Marzo de 2008, 07:54 »
Alguien sabe como pasar un string a un AnsiString?

No debe ser muy complicado pero no se me ocurre ya que el tipo string no tiene ninguna función específica para esto como si el recíproco (AnsiString to string)

Desde ya muchas gracias!

125
C++ Builder / Re: Quickrep Impresion C++ Builder 6.0
« en: Martes 25 de Marzo de 2008, 07:42 »
Analizando el codigo un poco puedo decirte que tus intuiciones son acertadas.

"i" es la variable que uso apra mover el for y con ella extraigo la linea del Memo y la asigno a String s, entonces en "s" está el texto a imprimir.

Citar
Nota:
Te aconsejo ponerle nombres significativos a las variables que usas, por que si lo haces tu código va a ser más fácil de entender para los demás, incluso para ti si es que no lo ves después de un buen tiempo
jajaj toda la razón tenes x que leyendo así rápido ni idea tengo ya de que eran las variables!! jaajaja
Igual todos me lo dicen pero como lo documento tanto al codigo x ahí no le doy nombres mas significativos! igual lo voy a tener en cuenta.

Salu2 y disuclpa la tardanza recien lo leo al post! :S

Páginas: 1 ... 3 4 [5] 6 7