|
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 ... 40 41 [42] 43 44 ... 77
1027
« en: Sábado 22 de Abril de 2006, 21:51 »
Muchas gracias, me sirvio de mucho, pero tuve que borrar la linea
StringGrid1.Cells[ACol, ARow] := '';
ya que sino no me dejaba escribir naa. Gracias... que raro. lo probé y me funcionaba. Igualmente tambien pensé en sacar esa linea y lo hice y seguia funcionando pero la deje por si acaso.
1028
« en: Sábado 22 de Abril de 2006, 17:57 »
bueno solo quiero un caracter por celda y ademas me di cuenta que no puedo introducir datos por teclado en cada celda o esuqe acaso hay una propiedad q activa eso, pero weno con las que voy probando no pasa nada. en la propiedad Options del TStringGrid (fijate en la paleta de propiedades) pone la opcion "goEditing" en True; Luego usa el evento SetEditTExt así: procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: String); var myChar: Char; begin StringGrid1.Cells[ACol, ARow] := ''; if Length(Value) > 0 then myChar := Value[1]; if (myChar in ['0'..'9']) then StringGrid1.Cells[ACol, ARow] := myChar; end;
Al final te adjunto un proyecto de Delphi 7, que al parecer hace lo que vos quieres.
1029
« en: Sábado 22 de Abril de 2006, 15:35 »
¿Que cantidad de caracteres?
1030
« en: Sábado 22 de Abril de 2006, 01:10 »
recuerdo que al DevC++ le gustaba poner al final un creo que está definido en "stdlib.h"
1031
« en: Sábado 22 de Abril de 2006, 00:21 »
¿Probaste usar TStringList? La propiedad "Cells" del TStringList es una matriz. TStringGrid.Cells[X,Y]: String;
Me parece un poco tedioso usar 81 TMemos cuando tenes el TStringGrid, y se ese no te resulta, seguramente podes adaptar al TDrawGrid que es más genérico. Avisame, si necesitas si o si los Tmemo me fijo (es que ahora no tengo delphi a mano para revistar y no me acuerdo bien como es, es que hay varias formas....)
1032
« en: Viernes 21 de Abril de 2006, 22:49 »
Lo que a mi me resulta sin sentido, es ¿como se va hacer para leer la palabra? ¿letra por letra? (un poco lento....)
1033
« en: Viernes 21 de Abril de 2006, 21:04 »
Hola Primero: ¿Que es una palabra palindrome? Segundo: El tipo de datos String de Pascal es un vector y está definido como: String: packed array[1..255] of char;
Como dato informativo> El elemento 0 (cero) del vector posee la longitud de la cadena, por eso String[0] te devuelve la longitud. Por eso me surge la duda de eso de 'No usar vectores'. Al menos que quiera que lees caracter por caracter la palabra y usas listas enlazadas de punteros. Pero lo veo medio inutil. Antes que nada, ?Que es una palabra palindrome?
1034
« en: Martes 18 de Abril de 2006, 16:15 »
Los gráficos se ven completamente profesionales. Lástima que los juegos de "Dispara primero y pregunta despues" no me gustan.
1035
« en: Lunes 17 de Abril de 2006, 02:41 »
por si tenes que programar otra vez en Windows, probá con http://www.context.cx/ , luce prometedor.
1036
« en: Domingo 16 de Abril de 2006, 16:16 »
1037
« en: Domingo 16 de Abril de 2006, 16:14 »
En este foro no se hacen tareas. Dudas puntuales?
1038
« en: Viernes 14 de Abril de 2006, 16:26 »
"nil" es un puntero nulo, es decir que no apunta a ninguna parte. Como los PChar, son punteros, a veces cuando no quieres pasar un parametro, en vez de poner un 0 (cero) lo que se hace para Integers, se pasa "nil"
Y tambien para inicializar punteros. Es decir, Los integers se inicializan a 0, los punteros a nil.
Es un valor nulo, para punteros; como lo es el 0 (cero) para Numeros
1039
« en: Jueves 13 de Abril de 2006, 00:21 »
"#" es un operador de Pascal que se usa igual como si fuera la funcion Chr().
1040
« en: Miércoles 12 de Abril de 2006, 21:05 »
1041
« en: Miércoles 12 de Abril de 2006, 15:49 »
El tema es que todos los editores hexadecimales solo muestran numeros en ese sistema.
Te conviene leer algun tutorial de "Ingeniería Inversa", eso te servirá de mucho supongo.
1042
« en: Martes 11 de Abril de 2006, 21:20 »
Pone esto en el evento OnClick. La cosa es que con FillRect no me funcionaba, por eso es que se pinta un rectangulo con las coordenadas (-1,-1, w+1, h+1). Con lo que el rectangulo no se ve, pero le hace un Xor a la imagen. Fijate si averiguas como para hacerlo más prolijo procedure TForm1.Image1Click(Sender: TObject); begin Image1.Canvas.Pen.Mode := pmXor; Image1.Canvas.Rectangle(Rect(-1,-1, Image1.Width+1, Image1.Height+1)); end;
1043
« en: Lunes 10 de Abril de 2006, 16:32 »
Gracias, lo voy a revisar.
1044
« en: Domingo 9 de Abril de 2006, 05:42 »
http://www.clootie.ru/delphi/download_dx92.htmlFijate en el menú de arriba que tenes las cabeceras tambien para Free Pascal y TMT Pascal. (olvidate de Turbo Pascal porque no trabaja con DLL's)
1045
« en: Sábado 8 de Abril de 2006, 22:27 »
NO conozco mucho del tema, mejor dicho casi nada. Pero creo que para modificar ejecutables compiladas, se necesita usar un Editor Hexadecimal.
1046
« en: Sábado 8 de Abril de 2006, 22:25 »
Por sierto, NO TE ESTOY PASANDO CÓDIGO COMPLETO, tendrás que ADAPTARLO A TUS NECESIDADES VOS MISMO.
1047
« en: Sábado 8 de Abril de 2006, 22:21 »
El procedimiento para mezclar ya te lo había pasado. (podrías aunque sea tomarte la molestia de ver el código  ) Para tapar con asteriscos tendrías que tener un matriz a parte que te indique si esa casilla fue abierta. Las cosa sería que cada jugada que hagas, pongas esa casilla de la matriz a Verdadero, cosa que te indicaría si se puede mostrar y ademas si el jugador ya hizo esa jugada.... CasillasDescubiertas: array[1..10,1..10] of Boolean;
procedure ImprimirMar; var i,j: Integer; for i:=1 to 10 do for J:=1 to 10 do begin if CasillasDescubiertas[i,j] then Write(Mar[i,j], ' ') else Write('* '); if i=10 then WriteLn; end; end;
procedure mover; writeln('Digite el numero de fila en que desee moverse'); readln(i); writeln('Digite el numero de fila en que desee moverse'); readln(j); if CasillasDescubiertas[i,j] then {la jugada ya fue hecha} if not CasillasDescubiertas[i,j] then begin CasillasDescubiertas[i,j] := True; {y todas las demas cosas.....} end; [CODE]
1048
« en: Sábado 8 de Abril de 2006, 18:00 »
para moverme puedo usar esto?
procedure mover; writeln('Digite el numero de fila en que desee moverse'); readln(i); writeln('Digite el numero de fila en que desee moverse'); readln(j);
recorro la matriz y debe haber algun comando que me lleve "gotoxy", este sirve? case Mar[i,j] of NADA: begin {lo que tengas que hacer por si est'a vacia} end; TIBURON: begin {lo que tengs que hacer si es un tiburon} end; BARCOS: begin {lo que tengas que hacer si hay un barco} end; end;
para sacar el type mismatch, pone que todo sea Integer, y saca los tipos Byte (seguramente es eso, en el codigo que te pase lo hab'ia coregido y compilo)
1049
« en: Sábado 8 de Abril de 2006, 15:54 »
ademas del procedimiento de guardar que me diste, puedo usar cualquiera??; para que el usuario busque las cordenadas cuando ya este la matriz lista que procedimiento puedo utilizar... Lees por teclado la coordenada X, despues la Y..... Luego verificas que es lo que hay en Mar[X,Y] y sumas o bajas puntos segun sea el resultado.
1050
« en: Sábado 8 de Abril de 2006, 15:52 »
const NADA = 0; TIBURON = 1; BARCO = 2; var Mar: array[1..10,1..10] of Integer; i,j: Integer; {Esto inicia el tablero poniendo tiburones y barcos en siempre la misma posicion, despues, con otro procedimiuento se mezcla} procedure Init; var i,j : integer; begin for i:=1 to 10 do for J:=1 to 10 do Mar[i,j] := NADA; for i:=1 to 10 do Mar[i,1] := TIBURON; for i:=1 to 5 do Mar[i,2] := BARCO; end; {Intercambia dos variables} procedure Intercambiar(var A,B: Integer); var C: Integer; begin C := A; A := B; B := C; end; {esto mezcla los campos y los desordena, de manera que uno se asegura que hay 10 tiburones y 10 barcos} procedure Mezclar; var i,j, nI, nJ: integer; begin for i:=1 to 10 do for J:=1 to 10 do begin nI := RAndom(10)+1; nJ := RAndom(10)+1; Intercambiar(Mar[i,j], Mar[nI, nJ]); end; end; begin Init; Mezclar; for j:=1 to 10 do for i:=1 to 10 do begin Write(Mar[i,j], ' '); if i=10 then WriteLn; end; readln; end.
Páginas: 1 ... 40 41 [42] 43 44 ... 77
|
|
|