• Jueves 15 de Mayo de 2025, 00:37

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 - _Viktor

Páginas: 1 ... 6 7 [8] 9 10 11
176
C++ Builder / Peticion A Los Usuarios De C++ Builder
« en: Sábado 6 de Diciembre de 2003, 16:19 »
Hola a todos, me dirijo a Uds. para pedirles un favor.  Cada vez que alguien postee alguna duda y esta reciba respuestas seria ideal que quien tuvo la duda o problemas con algun codigo indicara si la solucion propuesta cumplia con lo que se esperaba, de lo contrario tambien indicarlo.

Esto por la sencilla razon de que ahi muchas preguntas contestadas varias veces (mismo problema), y si se deja claro que la solucion sirvio tal vez para un nuevo usuario no sea necesario publicar, sino tan solo usar la opcion buscar de este foro.

Esperando su comprencion ...

Saludos

177
C/C++ / No Dejar Que Windows Se Apague
« en: Sábado 6 de Diciembre de 2003, 03:16 »
Esto servira para aplicaciones que no deben dejar que el pc se apague....
No abusen de el !!!!!!

Código: Text
  1.  
  2.  
  3. //----------------------------------------------------------
  4. // unit1.h
  5. class TForm1 : public TForm
  6. {
  7. __published:   // IDE-managed Components
  8. private:   // User declarations
  9.     void __fastcall WMQueryEndSession(TWMQueryEndSession &msg);
  10. public:      // User declarations
  11.     __fastcall TForm1(TComponent* Owner);
  12.  
  13. BEGIN_MESSAGE_MAP
  14.   MESSAGE_HANDLER(WM_QUERYENDSESSION,TWMQueryEndSession,WMQueryEndSession)
  15. END_MESSAGE_MAP(TForm)
  16. };
  17. //----------------------------------------------------------
  18.  
  19.  
  20. //----------------------------------------------------------
  21. // unit1.cpp
  22. void __fastcall TForm1::WMQueryEndSession(TWMQueryEndSession &msg)
  23. {
  24.     msg.Result = 0;
  25.     ShowMessage("Lo siento, no tengo ganas de apagarme" ) &#59;
  26. }
  27.  
  28.  

178
C/C++ / Conocer Nombre Del Pc Local
« en: Sábado 6 de Diciembre de 2003, 03:14 »
Código: Text
  1.  
  2. void __fastcall TForm1::Button1Click(TObject *Sender)
  3. {
  4.     DWORD dwSize = MAX_COMPUTERNAME_LENGTH + 1;
  5.     char szBuf[MAX_COMPUTERNAME_LENGTH + 1];
  6.     szBuf[0] = '\0';
  7.  
  8.     GetComputerName(szBuf, &dwSize);
  9.  
  10.     Label1->Caption = szBuf;
  11. }
  12.  
  13.  

Suerte!

179
C/C++ / Lista De Fuentes En Un Listbox O Combobox
« en: Sábado 6 de Diciembre de 2003, 03:06 »
Hola, primero hagan un formulario con la sgte. forma:




Luego en el evento OnCreate del form lo siguiente:

Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3. void __fastcall TForm1::FormCreate(TObject *Sender)
  4. {
  5.    
  6.     for(int i = 0; i < Screen->Fonts->Count; i++)
  7.     {
  8.         ListBox1->Items->Add(Screen->Fonts->Strings[i]);
  9.         ComboBox1->Items->Add(Screen->Fonts->Strings[i]);
  10.     }
  11.  
  12.     int F = ComboBox1->Items->IndexOf("Times New Roman " );
  13.     if( F ) // If the font exists, select it
  14.         ComboBox1->ItemIndex = F;
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18.  
  19.  

luego:

Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3. void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
  4.       TRect &Rect, TOwnerDrawState State)
  5. {
  6.     if( State.Contains(odSelected) )
  7.         ListBox1->Canvas->Brush->Color = clHighlight;
  8.     else
  9.         ListBox1->Canvas->Brush->Color = clWhite;
  10.  
  11.  
  12.     ListBox1->Canvas->FillRect(Rect);
  13.  
  14.     ListBox1->Canvas->Pen->Color = clWhite;
  15.     ListBox1->Canvas->Font->Name = ListBox1->Items->Strings[Index];
  16.     ListBox1->Canvas->Font->Size = 12;
  17.     ListBox1->Canvas->TextOut(Rect.Left, Rect.Top, ListBox1->Items->Strings[Index]);
  18. }
  19. //---------------------------------------------------------------------------
  20. void __fastcall TForm1::ComboBox1DrawItem(TWinControl *Control, int Index,
  21.       TRect &Rect, TOwnerDrawState State)
  22. {
  23.     if( State.Contains(odSelected) )
  24.         ComboBox1->Canvas->Brush->Color = clHighlight;
  25.     else
  26.         ComboBox1->Canvas->Brush->Color = clWhite;
  27.  
  28.     ComboBox1->Canvas->FillRect(Rect);
  29.  
  30.     ComboBox1->Canvas->Font->Name = ComboBox1->Items->Strings[Index];
  31.     ComboBox1->Canvas->Font->Size = 12;
  32.     ComboBox1->Canvas->TextOut(Rect.Left, Rect.Top-2, ComboBox1->Items->Strings[Index]);
  33. }
  34. //---------------------------------------------------------------------------
  35.  
  36.  
  37.  

para que al final el resultado se vea de esta forma:



Espero les sirva.

Saludos!

[EDIT: no modifique nada, fue un error  :hola: ]

180
C/C++ / Conocer La Mac Address De Tu Pc
« en: Sábado 6 de Diciembre de 2003, 03:04 »
Hola, aqui esta el codigo:

Código: Text
  1.  
  2. #include <windows.h>
  3. #include <iostream>
  4. #include <conio.h>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     cout << "direccion MAC es: ";
  11.  
  12.     GUID uuid;
  13.     CoCreateGuid(&uuid);
  14.     char mac_addr[18];
  15.     sprintf(mac_addr,"%02X:%02X:%02X:%02X:%02X:%02X",
  16.             uuid.Data4[2],uuid.Data4[3],uuid.Data4[4],
  17.             uuid.Data4[5],uuid.Data4[6],uuid.Data4[7]);
  18.     cout << mac_addr << endl;
  19.     getch();
  20.     return 0;
  21. }
  22.  
  23.  
  24.  
  25.  

eso para C++, si se quisiera aplicar a un programa hecho en C++ Builder seria asi:

Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3. #include <vcl.h>
  4. #include <iostream.h>
  5. #include <conio.h>
  6. #pragma hdrstop
  7.  
  8. #include "Unit1.h"
  9. //---------------------------------------------------------------------------
  10. #pragma package(smart_init)
  11. #pragma resource "*.dfm"
  12. TForm1 *Form1;
  13. //---------------------------------------------------------------------------
  14. __fastcall TForm1::TForm1(TComponent* Owner)
  15.         : TForm(Owner)
  16. {
  17. }
  18. //---------------------------------------------------------------------------
  19.  
  20. void __fastcall TForm1::Button1Click(TObject *Sender)
  21. {
  22.    using namespace std;
  23.    GUID uuid;
  24.    CoCreateGuid(&uuid);
  25.    char mac_addr[18];
  26.     //obtenemos los datos y los almacenamos en mac_Addr
  27.    sprintf(mac_addr,"%02X:%02X:%02X:%02X:%02X:%02X",
  28.            uuid.Data4[2],uuid.Data4[3],uuid.Data4[4],
  29.            uuid.Data4[5],uuid.Data4[6],uuid.Data4[7]);
  30.   //como mac_addr es char[], hacemos un cast a String
  31.    Edit1->Text= String(mac_addr);
  32.  
  33.   //y listo !!!
  34. }
  35. //---------------------------------------------------------------------------
  36.  
  37.  
  38.  

Asi de simple....


Suerte!

181
C/C++ / Crear / Borrar Alias Odbc
« en: Sábado 6 de Diciembre de 2003, 03:03 »
Para crear un alias ODBC

Código: Text
  1.  
  2. //bool ret;
  3. //ret = CreateODBCAlias("MiAlias",
  4. //"miBase.mdb",
  5. //"C:\directorio\datos\",
  6. //"Esto es una prueba");
  7. // Devuelve true si se crea correctamente
  8. //ShowMessage(ret ? "Creado" : "Error");
  9.  
  10.  
  11.  
  12. bool CreateODBCAlias(String sAlias, String sDB, String Dir, String sDescription)
  13. {
  14.  typedef BOOL (__stdcall *pSQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR);
  15.  pSQLConfigDataSource SQLConfigDataSource;
  16.  HINSTANCE hLib;
  17.  bool bRet = false;
  18.  hLib = LoadLibrary("odbccp32.dll");
  19.   if (hLib)
  20.     {
  21.       SQLConfigDataSource =  (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource");
  22.       if (SQLConfigDataSource)
  23.         {
  24.             char szParam[1024];
  25.             sprintf(szParam, "DSN=%s; Description=%s; DefaultDir=%s; DBQ=%s",
  26.                    sAlias.c_str(), sDescription.c_str(), sDir.c_str(), sDB.c_str());
  27.             bRet = SQLConfigDataSource(NULL, 1 /*ODBC_ADD_DSN*/,
  28.                     "Microsoft Access Driver (*.mdb)", szParam);
  29.         }
  30.       FreeLibrary(hLib);
  31.   }  
  32.  // Devuelve true si se crea o false en caso contrario
  33.  return bRet;
  34. }
  35.  
  36.  

Para Borrar un alias ODBC

Código: Text
  1.  
  2.  
  3. //LLAMADA
  4. //bool ret = RemoveODBCAlias("Rebeca");
  5. // devuelve true en caso de que se borre
  6. //ShowMessage(ret ? "Borrado" : "Error");
  7.  
  8.  
  9. bool RemoveODBCAlias(String sAlias)
  10. {    
  11.   typedef BOOL (__stdcall *pSQLConfigDataSource)HWND,ORD, LPCSTR, LPCSTR);
  12. pSQLConfigDataSource SQLConfigDataSource;    HINSTANCE hLib;
  13. bool bRet = false;
  14. hLib = LoadLibrary("odbccp32.dll");
  15.  if (hLib)
  16.     {        SQLConfigDataSource = (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource");
  17.         if (SQLConfigDataSource)  
  18.          {      
  19.             char szParam[1024];
  20.             sprintf(szParam, "DSN=%s;", sAlias.c_str));
  21.             bRet = SQLConfigDataSource(NULL,3 /*ODBC_REMOVE_DSN*/,
  22.           "Microsoft Access Driver (*.mdb)", szParam);
  23.         }
  24.         FreeLibrary(hLib);
  25.     }
  26.  // Devuelve true si se borra o false en caso contrario    return bRet;
  27. }
  28.  
  29.  
  30.  
  31.  


Autor: _Leo...

Saludos.-

182
C/C++ / Saber La Ip De Tu Pc
« en: Sábado 6 de Diciembre de 2003, 03:02 »
Código: Text
  1.  
  2. #include <winsock2.h>
  3.  
  4. // ...
  5.  
  6. void __fastcall TForm1::Button1Click(TObject *Sender)
  7. {
  8.       WORD wVersionRequested;
  9.       WSADATA wsaData;
  10.       char name[255];
  11.       AnsiString ip;
  12.       PHOSTENT hostinfo;
  13.       wVersionRequested = MAKEWORD( 2, 0 );
  14.  
  15.       if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
  16.       {
  17.  
  18.             if( gethostname ( name, sizeof(name)) == 0)
  19.             {
  20.                 Label1->Caption = name;
  21.                   if((hostinfo = gethostbyname(name)) != NULL)
  22.                   {
  23.                         ip = inet_ntoa (*(in_addr *)*hostinfo->h_addr_list);
  24.                         Label2->Caption = ip;
  25.                   }
  26.             }
  27.             WSACleanup( );
  28.       }
  29. }
  30.  
  31.  
  32.  

Autor: RPorcar.-

Saludos!!

183
C/C++ / Saber Si El Pc Esta Conectado A Internet
« en: Sábado 6 de Diciembre de 2003, 03:01 »
Código: Text
  1.  
  2. void __fastcall TForm1::Button1Click(TObject *Sender)
  3. {
  4.   HINSTANCE dllInstance = LoadLibrary("url.dll");
  5.   bool (__stdcall *InetIsOffline)(int);
  6.   InetIsOffline = (bool(__stdcall*)(int))GetProcAddress(dllInstance, "InetIsOffline");
  7. if (InetIsOffline(0))
  8.   ShowMessage("No conectado a internet");
  9. else
  10.   ShowMessage("Conectado a internet");
  11.    FreeLibrary(dllInstance);
  12. }
  13.  
  14.  

Autor: RPorcar

184
C/C++ / Efecto Goma En Un Timage
« en: Sábado 6 de Diciembre de 2003, 03:00 »
Insertamos dos Image y un Button. El código para el Button es este:

Código: Text
  1.  
  2. //El Image1 es donde pintamos y el Image2 es donde está la imagen original
  3. for(int i = 0; i <= Image2->Width; i++)
  4. {
  5. //Copio en el trozo "X" del Image1 un trozo "Y" del Image2
  6. Image1->Canvas->CopyRect(Rect(0,0,Image1->Width,Image1->Height), Image2->Canvas, Rect(0,0,i,Image2->Height));
  7. //Y refresco la imagen
  8. Image1->Refresh();
  9. }
  10.  


 ;)

185
C++ Builder / Re: Retardos (delay - Sleep)
« en: Miércoles 3 de Diciembre de 2003, 21:32 »
Busca el "Zen Timer" en Internet, asegurate de que la version que te bajas es la que sirve para Borland, una vez que lo tienes es muy facil de usar, teoricamente alcanza precisiones de microsegundos...

Otra cosa, ninguno de los compiladores que mencionas pertenecen a este subforo ... pero igual .. ;)

Suerte.  :P

186
C++ Builder / Re: Crear Autoinstalable
« en: Lunes 1 de Diciembre de 2003, 22:03 »
Yo tengo uno, te lo hare llegar apenas llegue a mi casa... eso en unas 4 horas mas.
Saludos  ;)

187
Novedades en SoloCodigo / Re: Nuevos Foros
« en: Domingo 30 de Noviembre de 2003, 06:21 »
Cita de: "solocodigo"
Entonces creo que se redimensiona sólo si el tamaño es superior a 140x140 o si se enlaza desde un servidor externo :P
Ese no seria el caso, mi avathar esta en otro servidor, debe ser lo que mencionas, si el tamaño supera las medidas dadas....
Es tarde, mañana tratare de nuevo lo del inicio de sesion, buenas a todos y chau. Felicitaciones nuevamente...
 ;)

188
Novedades en SoloCodigo / Re: Nuevos Foros
« en: Sábado 29 de Noviembre de 2003, 23:25 »
Hola a todos, como dije en otro post por ahi, me parece espectacular el cambio, de verdad que si, y sobre todo por lo rapido que se puso en marcha.

Aunque me "asalta una duda", no me funciona correctamente el inicio de sesion automatico como antes, ¿alguien mas a tenido ese problema?

Saludos y felicitaciones a Solocodigo por su esfuerzo (y a quienes lo hayan apoyado.)

 :P

189
Sobre los Foros de SoloCodigo / Re: Felicitaciones
« en: Sábado 29 de Noviembre de 2003, 21:35 »
Cita de: "Guest"
:P  Ahora si tengo una duda, tengo mis cookies activados y aun asi no me toma el inicio de secion automatico.

Has recibido algun mensaje diciendo lo mismo ?

Saludos y felicitaciones nuevamente.
Perdon, fui yo el del post anterior, por lo mismo no note que no estaba logeado.

Saludos!

190
Sobre los Foros de SoloCodigo / Felicitaciones
« en: Sábado 29 de Noviembre de 2003, 21:10 »
No es ninguna duda, solo quiero felicitar a SOLOCODIGO por el cambio y el esfuerzo que debe haber significado exportar los datos del antiguo foro a este.
EXPECTACULAR!!!!
 ;)

191
C++ Builder / otro problema
« en: Sábado 29 de Noviembre de 2003, 01:06 »
Podrias poner un poco de codigo ??, asi seria mucho mas facil ver en que te estas equivocando, si es que no es problema del servidor SMTP

Saludos!

192
C++ Builder / Componente TNMSMTP
« en: Sábado 29 de Noviembre de 2003, 01:04 »
La verdad, hasta hace un tiempo el servidor Esfera.cl de mi pais (chile), funcionaba sin ningun problemas, por lo que me he enterado han bloqueado el smtp, llevo bastante tiempo buscando uno similar pero hasta ahora sin suerte.

Si llego a saber de uno, lo hare saber.
Saludos! y siento no poder ayudarte mucho.

193
C++ Builder / ayuda Urgente por favor!!
« en: Jueves 27 de Noviembre de 2003, 03:44 »
Pues que te puedo decir, mal empiezas buscando un programa hecho que supongo es una tarea, ¿verdad?,  lamentablemente en eso no te puedo ayudar, ya que mas que ayudar te estaria haciendo un daño, si tienes dudas especificas de algo no dudes en preguntar, pero no digas "todo hecho", que practicamente lo que quieres.

Ademas este es un foro de C++ Builder, tienes otros sub-foros para C, C++.

Un Saludo!

194
C++ Builder / Ayuda
« en: Martes 25 de Noviembre de 2003, 04:40 »
Hola, mientras pueda ayudarte lo hare, no hay problema en eso, solo trata de agotar tus ideas para luego consultar aca.  Si se como ayudarte lo hare.



Saludos!:good:

195
C++ Builder / Re: Ayuda
« en: Viernes 21 de Noviembre de 2003, 17:47 »
Si lo que quieres es por ejemplo desde Form1 abrir el Form2, es sencillo, asumiendo los nombres que da por defecto el builder:

Form1: Unit1.cpp, Unit1.h
Form2: UInit2.cpp, Unit2.h

En el Cpp del Form1 incluyes el archivo cabecera del Form2, es decir:

 
Código: Text
  1.  
  2. #include "Unit2.h"
  3.  
  4.  

Luego en el evento que quieras llamar o mostrar el Form2, simplemente invocas el metodo Show o ShowModal del Form2, al que ahora puedes acceder ya que incluiste su header anteriormente, es decir:

 
Código: Text
  1.  
  2. Form2->Show();
  3. Form2->ShowModal(); //En forma Modal
  4.  
  5.  

Eso, si tienes alguna duda, dime que version de Builder estas usando y trato de instalarla para enviarte un ejemplo, (Tengo la 6 instalada, pero tambien tengo la 4 y 5 por ahi).

Yo tambien empeze con C, C++, a C++ Builder pase por el instituto donde estudio, pero creeme si te gusta C++ no te vas a arrepentir nunca de aprender Builder, no creerias las cosas que se pueden hacer....

Suerte!!!

196
C++ Builder / Secuencias de escape
« en: Miércoles 12 de Noviembre de 2003, 00:08 »
Mounstro ??? jajajaja

Bueno... genial que pueda ayudarte...

Saludos!!!!   :suerte:

197
C++ Builder / Re: Secuencias de escape
« en: Martes 11 de Noviembre de 2003, 17:09 »
Hola, para ir eliminando caracteres de un Edit puedes usar el metodo Delete de AnsiString, de la siguiente forma:
 
Código: Text
  1.  
  2. void __fastcall TForm1::Button1Click(TObject *Sender)
  3. {
  4.  Edit1->Text = Edit1->Text.Delete(Edit1->Text.Length(),1);
  5. }
  6.  
  7.  

Y para ir agregando de linea en linea en un memo puedes usar el metodo Add, de la siguiente forma:
 
Código: Text
  1.  
  2. Memo1->Lines->Add(Operacion->Text);
  3.  
  4.  

Donde operacion es el Edit que tiene la operacion completa hasta que se presiono el "=" y el metodo Add agrega una linea cada vez que es invocado.

Espero te sirva. Saludos!

198
C++ Builder / Re: Secuencias de escape
« en: Martes 11 de Noviembre de 2003, 02:25 »
Especificamente para que quieres usarlas, tal vez existe una alternativa mejor

Saludos!

199
C++ Builder / Unas dudas
« en: Sábado 8 de Noviembre de 2003, 23:01 »
Que bueno, esa era la idea.... :good:

200
C++ Builder / Re: Unas dudas
« en: Sábado 8 de Noviembre de 2003, 01:36 »
Hola, en el orden que preguntaste.

1.- Para restringir el tipo de datos que se pueden recibir en un Edit, puedes usar el evento OnKeyPress, para eso comparas el parametro Key con lo que quieres que sea lo ingresado, de ser otra cosa anulas la entrada dandole Key=0.-

2.-  Para asignar el foco a cierto edit, puedes usar el metodo SetFocus() derivado de TComponent, de esta forma:

 
Código: Text
  1.  
  2. void __fastcall TForm1::Button1Click(TObject *Sender)
  3. {
  4.  Edit1->SetFocus();
  5. }
  6.  
  7.  
Asi el foco (cursor), en este caso quedara en el Edit1

3.- Si lo que quieres es un boton con el texto del Caption de un determinado color, te recomiendo que uses un SpeedButton (Paleta Additional).

Espero te quede mas claro, de lo contrario solo preguntame...

Saludos

Páginas: 1 ... 6 7 [8] 9 10 11