|
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 - Enko
Páginas: 1 ... 39 40 [41] 42 43 ... 77
1001
« en: Martes 9 de Mayo de 2006, 14:50 »
1002
« en: Domingo 7 de Mayo de 2006, 19:48 »
onKeyPress incluye: onKeyDown y onKeyUP.
O sea, onKeyDown, es cuando pulsas un tecla abajo. OnKeyUp, es cuando soltas una tecla pulsada OnKeyPress es cuando haces las dos cosas, pulsar y soltar.
1003
« en: Sábado 6 de Mayo de 2006, 00:33 »
la verdad necesio ayudacomo kda el codigo???? esk a mi me pidieron ese programa xa el lunes y ya hoy es viernes y si no lo entrego epruebo por favor ayudenme
pro con este programa los datos los introduces desd teclado????
si alguno sabe como kdo el programa por favor ayudeme mi correo es
mariguana_pera@hotmail.com auxilio En este foro no se hacen tareas. Dudas puntuales?
1004
« en: Sábado 6 de Mayo de 2006, 00:22 »
Off Topic: ¿Todo el mundo tiene el XP con Visual Styles?
1005
« en: Sábado 6 de Mayo de 2006, 00:17 »
Tambien así podes mezclar Matrices, en el ejemplo 10x10: for i:=1 to 10 do for j:=1 to 10 do Intercambiar(Matriz[i,j], Matriz[Random(10)+1, Random(10)+1]);
el procedimiento intercambiar ser'ia procedrue Intercambiar(var A,B: Integer); var C:Integer; begin C := A; A := B; B := C; end;
1006
« en: Sábado 6 de Mayo de 2006, 00:12 »
Forma dificil y tediosa (no recomendada): Metes los numeros generados en un arreglo y cada vez que generas un numero, te fijas si ya esta en el arreglo. Forma mejor pero mas restringida: Generas un vector que contenga todos los numeros que necesitas. Por ejemplo un Arreglo de 60 elementos con los numeros del 1 al 60 var Arreglo: array[1..60] of integer; var i: Integer; begin for i:=1 to 60 Arreglo[i] := i; end;
Luego, mediante random mezclas los numeros del arreglo intercambiandolos. (supongo que podras hacer una funcion que intercamibe el valor de dos numeros, la voy a llamar Intercambiar(A , B ). a ' a ' le asignda el valor de 'b' y a 'b' el valor de 'a'. for i:=1 to 60 do Intercambiar(Arreglo[i], Arreglo[Random(60)+1]);
Listo, tenes un arreglo con numeros del 1 al 60 intercambiados aleatoreamente. Es como mezclar un mazo de naipes.
1007
« en: Viernes 5 de Mayo de 2006, 14:30 »
TEndría que ser con esto: SpeedButton1.Down := True;
Pero por extraña razon no me esta funcionando
1008
« en: Viernes 5 de Mayo de 2006, 14:26 »
Existe una propiedad para los componentes visibles llamada "Cursor" fijate en la Paleta de Propiedades.
Solo tienes que seleccionar el que mas te guste para cada componente en la paleta y listo.
1009
« en: Viernes 5 de Mayo de 2006, 14:23 »
|Por sierto, podes tener arreglos de botones, en mi caso, use una matriz por comodidad. arregloBotones: array[1..10] of TButton; arregloBotones[1] := TButton.Create, etc.....
1010
« en: Viernes 5 de Mayo de 2006, 14:22 »
Para crear un boton en tiempo de ejecucion necesitas: *Definir la variable del boton *Crear una instancia del Boton Boton := TButton.Create(self); Boton := TButton.Create(From1); Boton := TButton.Create(nil);
*Cambiar sus propiedades Width := 128; Height := 24; Parrent := Form1; //Quien es el Padre del boton, es decir, donde se va a dibujar Caption := 'Boton' onClick := Evento; Visible := True;
*Y finalmente liberarlo de la memoria Los eventos en Delphi, es decir los tipo TNotifyEvent estan definidos asi> type TNotifyEvent = procedure(Sender: TObject); TIntegerFunction = function: Integer; TProcedure = procedure; TStrProc = procedure(const S: string); TMathFunc = function(X: Double): Double;
Asi, todos los eventos son procedimientos que tienen como parametro a "Sender" que es el que crea el evento. O sea, si hiciste click en un boton, en el evento onClick de ese boton, el Sender va a ser el boton. Lo que pasa, es que sender es de tipo TObject, la clase padre de todas las clases. Todas las clases en Delphi estan heredadas en ella. La Classe TButton, deriva de TCustomButton y esa en algun momento de TComponent y en muchas otra vueltas, finalemnte se llega a TObject. Como las instancias de clases (seria el objeto creado) en Delpi son punteros y no contienen al objeto en si, mediante type casing podes acceder a las propiedades del parametro Sender como si fuera un TButton (o cualquier otra cosa, siempre que lo fuera) Todos los TButton son TObject. Algunos TObject pueden ser TButtons, por eso, en tu propio evento deber'ias verificar si el Sender definitivamente es un TButton con> if Sender is TButton then begin end;
Si resulta que el Sender es un TButton entonces podes acceder a las propiedades del boton con> Existe la palabra reservada 'AS', que cumple la funcion type casing, pero es muuuuuuy lenta, y te conviene usar 'is' y luego type casing; //esto te consume mucho tiempo //y no se asegura que sea un boton el sender //por eos puede haber un error en tiempo de ejecucion whith Sender as TButton do begin Caption := 'Boton'; Visible := True; end;
El Evetno seria algo asi> Asignamos a nuestro boton, nuestro propio evento onClick myButton.onClick := myClick;
El evento ser'ia algo asi, procedure myClick(Sender:TObject); begin //en realidad en este caso es 100% seguro de que el Sender es TButton //porque nosotros mismos asignamos el evento a un boton if Sender is TButton then begin ... end; end;
Supongo que con eso queda explicado.
1011
« en: Viernes 5 de Mayo de 2006, 03:47 »
Tendras que crear lo botones en tiempo de ejecucion y crear tu propio evento para los clicks a los botones. Te paso un código completo de ejemplo. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public myButtons: array[1..5, 1..5] of TButton; procedure myButtonClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.myButtonClick(Sender: TObject); begin if Sender is TButton then begin ShowMessage(TButton(Sender).Caption); //TButton(Sender).propiead es el butotn que le hicieron clik end; end; procedure TForm1.FormCreate(Sender: TObject); const ConstWidth = 32; ConstHeight = 32; var i,j: Integer; begin for j:=1 to 5 do for i:=1 to 5 do begin myButtons[i,j] := TButton.Create(self); myButtons[i,j].Caption := 'test'; with myButtons[i,j] do begin Width := ConstWidth; // ancho Height := ConstHeight; //alto Left := i * ConstWidth; //posicion X Top := j * ConstHeight; //posicion Y Parent := Form1; //en donde se dibujan los botones Caption := IntToStr(Random(60)+1); onClick := myButtonClick; Visible := True; //para que se vean end; end; end; procedure TForm1.FormDestroy(Sender: TObject); var i,j: Integer; begin for j:=1 to 5 do for i:=1 to 5 do myButtons[i,j].Free; end; end.
Lo que hace el codigo es crear 25 botones a los cuales si haces click, te Hace un ShowMessage con la caption correspondiente al boton que se hizo click.
1012
« en: Martes 2 de Mayo de 2006, 22:47 »
Usas Linux? Porque el de windows te trae una IDE idéntica a la de Turbo Pascal y trae 2 juegitos  . Si es Linux, no sabría decirte.
1013
« en: Martes 2 de Mayo de 2006, 22:37 »
No dije "que tenes que aprender primero pascal", sino "que te convendría aprender primero Pascal". Como ya dije, algunos tutoriales de Delphi desde Cero te traen las nociones básicas del lenguaje pascal que suele ser más que suficiente. http://foros.solocodigo.com/index.php?showtopic=20279
1014
« en: Martes 2 de Mayo de 2006, 22:35 »
quiero aprensder delphi pero me dices que tengo que aprender pascal pero ese es el problema ya que de pascal ma mandaron a delphi y en este foro salio vicebersa yo quiero apernder Delphi es Object Pascal. Si aprendes Delphi, estaras aprendiendo Object Pascal por lo que tambien aprendes Pascal porque por mas que sea objeto orientado, sigue siendo Pascal. Hay tutoriales en red de Delphi desde 0 (cero) ellos te empiezan a mostrar primero las nociones básicas de pascal, por lo que aun así, primero estarías aprendiendo primero Pascal. Asi que lo que te recomiendo es que busques un tutorial de Delphi Desde Cero. proba con este que parece maso menos bueno: http://www.programacionfacil.com/delphi/indice.htm
1015
« en: Lunes 1 de Mayo de 2006, 15:56 »
Más que hacelerar tu descarga, te la estabilizan y ya. Hacen que bajes, por ejemplo a 15 KB/s practicamente todo el tiempo. A mi me resulta muy práctico y comodo: http://www.freedownloadmanager.org/ademas, tengo una extencion para FireFox que es la FlashGot que te permite interceptar las descargas con algun gestor de descargas.
1016
« en: Lunes 1 de Mayo de 2006, 15:52 »
No se, pero me preguno, ¿como cuanto sale esa llamada?
1017
« en: Jueves 27 de Abril de 2006, 20:20 »
No logro hacer que la funcion GetActiveWindow me devuelva algo distinto de NULL jutno con GetWindow. Lo estoy haciendo en una aplicacion consola con DevC++, no se si eso tendrá algo que ver. por sierto, El while nunca se me ejecuta hasta si pongo como condicion que sea Igual en vez de Distinto. #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { HWND hWnd; LPTSTR lpClassName; LPTSTR lpWindowText; hWnd = GetWindow(GetActiveWindow(), GW_HWNDFIRST); GetClassName(hWnd, lpClassName, sizeof(lpClassName)); hWnd = GetActiveWindow(); while(hWnd!=NULL){ GetClassName(hWnd, lpClassName, sizeof(lpClassName)); GetWindowText(hWnd, lpWindowText, sizeof(lpWindowText)); cout<< hWnd << ": " << lpClassName << " - " << lpWindowText << endl; hWnd = GetWindow(hWnd, GW_HWNDNEXT); } system("PAUSE"); return EXIT_SUCCESS; }
1018
« en: Jueves 27 de Abril de 2006, 19:14 »
Yo tengo delphi 7, si quieres puedes pasarme el código y me fijo a ver que es. Supongo que el error debe estar antes pero se manifiesta recien al final.
1019
« en: Jueves 27 de Abril de 2006, 19:06 »
Lo importante en realidad de Real:5:2 es el "2".
Es decir, para formatear la salida de un número real, primero despues de los primeros ":" hay que pasar los espacios que quieres dejar antes de escribir el numero, pueden ser 0 para no dejar nada. Los segudnos ":" indican la cantidad de decimales que quieres que se vean. Puede ser todos, para eso no pongas nada (Real:3, dejaria 3 espacios y mostraría todos los decimales en formato científico.) Podrías escribir sin los dos puntos es decir Writeln(Real); o como te guste.
Te sugiero que pruebes el código de _.B._
1020
« en: Jueves 27 de Abril de 2006, 14:23 »
Writeln('El area del triangulo es:', area:5:2);
Lo que hace el 5, es dejar 5 espacios (' ') entre 'es:' y area Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area. Pero para que necesito dejar ese espacio? eso es lo que no entiendo....porque es necesario dejar un espacio de 5 en este ejemplo.... ? Si no quieres no dejes espacios. Real:0:2 Yo pensé que quierías dejar espacios. Que se yo.
1021
« en: Miércoles 26 de Abril de 2006, 21:25 »
Writeln('El area del triangulo es:', area:5:2);
Lo que hace el 5, es dejar 5 espacios (' ') entre 'es:' y area Lo que hace el 2, es mostrar solo los 2 ultimos decimales del numero area.
1022
« en: Lunes 24 de Abril de 2006, 17:33 »
Mmmmm, osea que no hay manera de que los RadioButtons puedan funcionar en la funcion? Justamente si se puede. ¿Quieres que segun el RadioButton seleccionado te llea desde uno u otro archivo?
1024
« en: Domingo 23 de Abril de 2006, 15:29 »
Para saber cual es el elemento seleccionado en un ComboBox usa la propiedad Text. Y para insertar en la tabla, sería como insertar una variable de tipo string.
1025
« en: Domingo 23 de Abril de 2006, 15:20 »
if RadioButton1.Checked then Codigo := Extraer(Archivo1) else if RAdioButton2.Checked then Codigo := Extraer(Archivo2) ...
Páginas: 1 ... 39 40 [41] 42 43 ... 77
|
|
|