|
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 2 [3] 4 5 ... 11
51
« en: Lunes 5 de Julio de 2004, 15:56 »
Prueba haciendo un arreglo de imagenes, tal como su nombre lo indica: TImage *Arreglo[20]; for(int i=0;i<20;i++) { Arreglo[i] = new TImage(Form1); Arreglo[i]->Picture->LoadFromFile("ruta a la imagen"); Arreglo[i]->Width = 100; Arreglo[i]->Heigth = 200; // Y todas las demas propiedades que necesitas... Arreglo[i]->Show(); }
Es decir puedes crear tanto arreglos como matrices de cualquier componente en BCB al igual que en C o C++... Saludos!
52
« en: Miércoles 30 de Junio de 2004, 20:19 »
Prueba esto: FrmRegistro->TablaRegistro->Append(); FrmRegistro->TablaRegistro->FieldByName("Usuario")->AsString = CmpUsuario->Text; FrmRegistro->TablaRegistro->Post();
Saludos !
53
« en: Miércoles 30 de Junio de 2004, 20:15 »
Hola, Prueba este codigo en el constructor del form mdi 'padre'. Brush->Bitmap = Imagen->Picture->Bitmap;
Donde Imagen es un componente TImage con un bitmap. Saludos !
54
« en: Miércoles 30 de Junio de 2004, 01:39 »
Puedes poner el error que te resulta con ese codigo?
Saludos!
55
« en: Miércoles 30 de Junio de 2004, 01:38 »
Si quieres la hora del sistema usa la funcion Time(); Ej: String sHora = DateToStr(Time()); ShowMessage("La hora actual es: " + sHora);
Saludos !
56
« en: Miércoles 30 de Junio de 2004, 01:34 »
Te dejo otros link's: BCBDevVisual Component LibraryBusca en la red el siguiente libro: Borland C++ Builder 5.0 Developer's Guide. (En Ingles) y si quieres algo con BD's: La Cara oculta de C++ Builder (Ian Marteens). Algo de eso te servira. Saludos!
57
« en: Sábado 26 de Junio de 2004, 01:17 »
Algo como esto te puede servir de idea: UNIT1.CPP //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #define INTENTOS 4//numero max de intentos //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { nIntentos = 0; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if(Edit1->Text == "dato correcto") Label1->Caption = "Ha logrado su objetivo"; else { if(nIntentos < INTENTOS) { nIntentos++; Label1->Caption = "Le quedan " + IntToStr(INTENTOS - nIntentos) + " Intentos"; } else Label1->Caption = "Se le terminaron los intentos..."; } } //---------------------------------------------------------------------------
UNIT1.H /--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; TLabel *Label1; TEdit *Edit1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations int nIntentos; __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif
Saludos ! PD: Disculpa si aparece algun error de sintaxis... no tengo BCB instalado donde estoy trate de hacerlo lo mas parecido a como lo da Builder.
58
« en: Martes 22 de Junio de 2004, 19:53 »
Efectivamente, te ahorrarias la confirmacion de el orden de los datagramas enviados... si tienes tiempo usa UDP de lo contrario utiliza mejor TCP...
Saludos!
59
« en: Sábado 19 de Junio de 2004, 03:41 »
Mira esto te puede servir: void __fastcall TForm1::edtDatoKeyPress(TObject *Sender, char &Key) { if(Key == VK_RETURN) btnSiguienteClick(Sender); } //--------------------------------------------------------------------------- void __fastcall TForm1::btnSiguienteClick(TObject *Sender) { ShowMessage("Codigo del OnClick del boton siguiente"); }
Saludos!
60
« en: Jueves 10 de Junio de 2004, 03:17 »
Para eso estan los foros de consultas.... ! si leiste de lo que se trata este post, deberias haberlo notado...
Saludos!
61
« en: Miércoles 2 de Junio de 2004, 20:31 »
Buscate el driver MyOdbc, te sirve para crear un Alias odbc y a partir de ahi conectarte a la BD a travez de tu aplicacion en BCB, luego puedes ver en la ayuda acerca de los siguientes componentes TDataSource, TQuery, TTable, TDBGRid, etc. todos los que estan en la paleta Data Acces y Data Controls de componentes, los ejemplos de la ayuda son bastante claros.
Saludos!
62
« en: Miércoles 2 de Junio de 2004, 20:28 »
Entra en Sourceforge.net y en su buscador pon "TurboPower" ahi te aparecera una coleccion de componentes para BCB y Delphi entre los que figura uno que cumple la funcion de dejar tu aplicacion como trial o demo....
Saludos!
63
« en: Miércoles 2 de Junio de 2004, 20:19 »
Para eso puedes usar SQL con su sentencia "Order by nombre_campo"...
Saludos!
64
« en: Martes 1 de Junio de 2004, 20:55 »
Puedes usar un TMemo con las dimensiones de un TEdit, es una de las soluciones mas antiguas, pero funciona perfecto: void __fastcall TForm1::Memo1Change(TObject *Sender) { int caret = Memo1->SelStart; String text = Memo1->Text; for (int index = text.Pos ("\n"); index != 0; index = text.Pos ("\n")) { text.Delete (index, 1); -- caret; } for (int index = text.Pos ("\r"); index != 0; index = text.Pos ("\r")) { text.Delete (index, 1); -- caret; } if (caret != Memo1->SelStart) { Memo1->Text = text; Memo1->SelStart = caret; } }
Saludos!
65
« en: Martes 1 de Junio de 2004, 20:45 »
Hola, para eso tienes que agregar un TDatabase y en su propiedad LoginPromp le das en falso.... y en alias pones el que creas con el codigo anterior, luego los Querys o Tables que uses los conectas a este por medio de su propiedad Database... y listo.
Saludos!
66
« en: Lunes 31 de Mayo de 2004, 23:20 »
Aqui tienes otra alternativa que puedes modificar para tu problema: void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose) { if( Application->MessageBox("Desea cerrar?", "Mensaje", MB_ICONWARNING + MB_OKCANCEL)== ID_OK) CanClose = true; else CanClose =false; }
Saludos!
67
« en: Lunes 31 de Mayo de 2004, 22:38 »
Esto te servira: //----------------------------------------------------------------- // Modificar alias void __fastcall TForm1::btnModifyClick(TObject *Sender) { std::auto_ptr< TStringList > params( new TStringList); params->Values["ENABLE BCD"] = "TRUE"; Session->ModifyAlias("BCDEMOS", params.get()); Session->SaveConfigFile(); } //----------------------------------------------------------------- // Agregar Alias Standard void __fastcall TForm1::btnAddStandardClick(TObject *Sender) { const AnsiString path = "C:\\Program Files\\Common Files\\Borland Shared\\Data"; Session->AddStandardAlias("BCBDEV_DB", path, "PARADOX"); Session->SaveConfigFile(); } //----------------------------------------------------------------- // Agregar Alias void __fastcall TForm1::btnAddClick(TObject *Sender) { std::auto_ptr< TStringList > params( new TStringList); params->Values["ENABLE BCD"] = "TRUE"; params->Values["DATABASE NAME"] = "production"; params->Values["SERVER NAME"] = "NTS_PROD"; params->Values["USER NAME"] = "hhowe"; params->Values["PASSWORD"] = "mfcblowschunks"; Session->AddAlias("BCBDEV_SQL", "MSSQL", params.get()); Session->SaveConfigFile(); } //----------------------------------------------------------------- // Eliminar Alias void __fastcall TForm1::btnDeleteClick(TObject *Sender) { Session->DeleteAlias("BCBDEV_DB"); Session->SaveConfigFile(); } //-----------------------------------------------------------------
Ahora si lo que quieres es un alias ODBC. mira el siguiente post que subi en la seccion trucos: http://foros.solocodigo.com/index.php?showtopic=5695
68
« en: Viernes 28 de Mayo de 2004, 21:13 »
Incluye los siguientes archivos #include < printers.hpp > #include < math.h >
Pon un componente TPrintDialog, un TMemo y un boton: void __fastcall TForm1::Button1Click(TObject *Sender) { if (PrintDialog1->Execute()) { Printer()->Canvas->Font = Memo1->Font; //Asignamos la fuente de impresion int lineHeight = abs(MulDiv(Printer()->Canvas->Font->Size, GetDeviceCaps(Printer()->Handle, LOGPIXELSY), 72)); // determinamos altura de la linea lineHeight *= 1.4; int linesPerPage = (Printer()->PageHeight/lineHeight) - 2; int lineCount = 2; // iniciamos la impresion en la linea 2 para dejar margen (en vez de la 0) Printer()->BeginDoc(); for (int i=0;i < Memo1->Lines->Count;i++) { if (lineCount++ == linesPerPage) { lineCount = 2; Printer()->NewPage(); } String s = Memo1->Lines->Strings[i]; Printer()->Canvas->TextOut(0, lineCount * lineHeight, s); } Printer()->EndDoc(); } }
Haber si te sirve... Saludos!
69
« en: Viernes 28 de Mayo de 2004, 20:57 »
Para saber a que dia de la semana corresponde determinada fecha, puedes hacer algo como lo siguiente: Suponiendo que la fecha la tego guardada en una variable dMiFecha, yo lo haría así: Word Year, Month, Day; TDateTime dFecha; AnsiString cDias[7] = {"Dom.","Lun.","Mar.","Mier.","Juev.","Vier.","Sab."}; DecodeDate(dMiFecha, Year, Month, Day); if (Month == 12) { Year ++; Month = 0; } dFecha = EncodeDate(Year, Month + 1, (Word)StrToInt("01")) - 1; DecodeDate(dFecha, Year, Month, Day); ShowMessage("útimo día del mes " + StrToDate(dMiFecha) + " es el " + Day + ", y es " + cDias[DayOfWeek(dFecha)];
Saludos!
70
« en: Martes 18 de Mayo de 2004, 21:01 »
Puede que esto te sirva: void __fastcall TForm1::Button1Click(TObject *Sender) { TStringList *Archivo = new TStringList; Archivo->Clear(); if(FileExists("Comando.bat")) DeleteFile("Comando.bat"); Archivo->Add("Dir c:\ > salida.txt"); Archivo->SaveToFile("comando.bat"); ShellExecute(Handle, "open","comando.bat",0,0,SW_HIDE); Memo1->Lines->LoadFromFile("salida.txt"); delete Archivo; }
Obviamente existe una forma mas elegante de hacerlo, pero tendrias que crear un pipe a la salida, y la verdad encuentro que no merece la pena el esfuerzo... Saludos!
71
« en: Sábado 8 de Mayo de 2004, 21:09 »
Mmmm... yo no inclui esa lib...igual me funca......pero bueno::: Saludos a todos Eso es simplemente por que CBuilder reconoce por defecto las librerias API de windows solo desde la version 5 en adelante... de seguro el tiene la 4 o inferior.Saludos!
72
« en: Miércoles 5 de Mayo de 2004, 00:18 »
Black.. tomate un tiempo para leer bien mi respuesta anterior... veras que ya te respondi eso... si estas insertando no puedes tener activo el query si no le has dado valores a los parametros. La propiedad SQL se la estas dando en tiempo de ejecucion al hacer Query->SQL->Add("Insert....") ... de verdad no entiendo que es lo que no entiendes...
73
« en: Martes 4 de Mayo de 2004, 20:02 »
Amigo. Al hacer: Query->SQL->Add("Insert Into....");
Con eso le estas dando el valor a la propiedad SQL del Query... seria mejor que me dijeras que error te esta da la insercion... Recuerda que si estas insertando tienes que usar el metodo ExecSQL del Query, el metodo Open es solo para Consultas.. Saludos!
74
« en: Lunes 3 de Mayo de 2004, 20:05 »
Mira este ejemplo, es para hacerlo sin un componente....
C:\Archivos de programa\Borland\CBuilder4\Examples\Apps\TrayIcon
Y el siguiente es el componente que mencione para bcb4:
C:\Archivos de programa\Borland\CBuilder4\Examples\Controls\Tray
Saludos!
75
« en: Lunes 3 de Mayo de 2004, 20:01 »
Para eso tienes que incluir la siguiente libreria: #include <shellapi.h>
Y listo.
Páginas: 1 2 [3] 4 5 ... 11
|
|
|