• Miércoles 20 de Noviembre de 2024, 16:33

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

Páginas: 1 ... 16 17 [18] 19 20 ... 27
426
Programación de Videojuegos / [Código Fuente] SOKOBAN
« en: Miércoles 17 de Noviembre de 2004, 05:22 »
El clásico Sokoban de Hiroyuki Imabayashi programado para delphi3. ¿Quien no ha jugado una partida?
Puedes cambiar los gráficos, la música (midis bastante conocidos) y lo mejor es que lee archivos estándar que puedes bajar de internet y jugar los niveles más complicados que puedas encontrar. Tiene "undo" para miles de movimientos.



* El código muestra como realizar algunos efectos gráficos usando sólo la GDI de windows y como usar directamente el bitblt.

* El código está dividido en dos partes: interfaz y las clases propiamente del juego.

* Adjuntado el ejecutable para los que no tengan el compilador.

Autor: Sergio A. Chávez R.

427
C++ Builder / Re: Complejidad En C++builder
« en: Martes 16 de Noviembre de 2004, 16:23 »
Cita de: "vititox"
tanta es la complejidad de c++builder que casi es imposible trabajar en el.
para esto se debe saber manejar clases,herencias y sus demas caracteristicas.
tengo amigos que saben programar pero no saben manejar c++buider,
por queno se mejora esta plataforma? :comp:
Ahh..  :huh:

¿Y en que saben programar tus amigos si se puede saber, en papel?  :D  :D  :D

P.D.

El papel agunta todo.  :rolleyes:

Puede que un compilador RAD avanzado como el C++ Buider con tantos botones paneles con más botones y todo eso sea "intimidatorio", pero recuerda que todo eso es para facilitar el trabajo, no para complicarlo. Nada está ahi de adorno o de sobra, si está es por que ayuda no por que perjudica..... De ahi a que digas que es imposible trabajar en el sólo es causa de risa.  :D  :D  :D

428
Programación de Videojuegos / Re: Como Hacer Archivos .x
« en: Martes 16 de Noviembre de 2004, 15:40 »
Yo encontré un open source (me parece completo por que no lo vi a fondo pero viene con ejecutable.)

Convierte archivos dxf al formato .x  

El dxf es un formato estándar y estoy seguro que el conversor te será muy util.

Busca en google: Dxf2X.zip

Si no tienes exito lo adjunto aqui pesa menos de 300kb.  ;)

429
C/C++ / Re: Ayuda Con Automatas
« en: Lunes 15 de Noviembre de 2004, 15:00 »
Cada pregunta tan clara y transparente como el petroleo...  :rolleyes:

Creo que quiere evitar el ingreso de BOTS, de esos que crean cuentas hasta reventar el disco duro poniendo una de esas imágenes con letras distorcionadas, como las que tienen los emails de hotmal y yahoo.

Prefiero esas imágenes chicas en .gif con cientros de preguntas al azar como ¿De que color es el caballo blanco de Napoleón? con los sustantivos como variables para multiplicar variantes. Para un bot es realmente complicado: aparte de reconocer texto de la imagen tendría que hacer trabajo extra para extraer la respuesta de la misma pregunta.

430
C/C++ / Re: Problemas Con Las Librerias En C
« en: Domingo 14 de Noviembre de 2004, 16:01 »
:huh:  :huh:  :huh:
¿Como que por que?

¡Cambia ese max y MAX (sobre todo el max) por otros nombres más descriptivos y procura usar español para evitar el lio si existen otras entidades con el mismo nombre definidas en otras bibliotecas!

431
Inteligencia Artificial / Re: Problema De Algoritmos Genéticos
« en: Sábado 13 de Noviembre de 2004, 14:42 »
Cita de: "AURED"
Me temo que el asunto de la mutación no lo entiendo.
La mutación es muy importante para evitar el estancamiento en máximos locales.

----

Creo que esos puntos deberían ser configurables, por ejemplo lo del elitismo:

1.- Elitismo o sólo ruleta.(Un porcentaje de 1 a n% de la población tendrá como padre al "macho alfa" :D , con cruce con el resto de la población, el resto según la ruleta.)

2.- Opción para incluir un "clon" del mejor evaluado en la siguiente generación para asegurar que evites perder el mejor "espécimen" :D

3.- Nivel de mutación. (Tal vez automático: aumentando si se llega al estancamiento y disminuyendo si la población ya es bastante diversa)

Y un detalle más: ¿Las piezas sólo pueden girarse 90º en 2 dimensiones? Por que también es necesario considerar que se las puede girar 180º usando una tercera dimensión siendo el resultado la pieza "reflejada" en vertical u horizontal. Por ejemplo en lugar de girar una pieza de 3 dimensiones por una cuarta y que todo quede denuevo en 3dimensiones es más sencillo reflejarla en algún eje.  ;)

Finalmente siempre hecha una ojeada entre varios a todo el algoritmo, no vaya a ser que por un detalle "casi invisible" las cosas no funcionen como deben.

432
C/C++ / Re: Lectura Grafica
« en: Viernes 12 de Noviembre de 2004, 23:43 »
Cita de: "ciber_lep"
hola, espero que esten bien, ahora siguiendo con mi proyecto, al cual le he implementado el modo grafico, pero ocurre que no puedo leer en determinada cordenada, pues al leer datos todos se leen al inicio de la pantalla. ¿existe alguna funcion que me lo permita?. ¿alguien puede ayudarme porfa? :rolleyes:
¿Te refieres a una especie de getpixel(x,y) para obtener el color de una coordenada de la pantalla en modo gráfico?  :huh:  :huh:  :huh:

433
Java / Re: Recuperador De Archivos
« en: Viernes 12 de Noviembre de 2004, 23:22 »
Cita de: "JuanK"
Pero ese programa no parece ser para principiantes...
esta muy raro esto.... :alien:
Totalmente de acuerdo  :blink:   :blink:   :blink:

434
Dudas informáticas / Re: Passwords Extraños
« en: Martes 9 de Noviembre de 2004, 20:35 »
Cita de: "buhito"
viendo programas vi que el zip donde estaba necesitaba un pass y el pass era identico al nombre de la web (con todo y www)
si alguien sabe este no podria ser alguna forma de conectarse con un servidor sin que uno se de cuenta?
Bueno, en ese caso vendrian hasta con el http://  :rolleyes:

435
Pascal / Re: Pascal
« en: Martes 9 de Noviembre de 2004, 20:18 »
Crea un acceso directo para configurar compatibilidad y esas cosas, prueba con el "tpx.exe". Luego cuando entres configura los directorios para TODO, si no existen las carpetas o no incluyes todas las carpetas que usarás tendrás problemas.

P.D.

Aparte que parece que tienes otro problema con algún spyware o algo asi por lo del autoexec.nt fijate si es el caso en (lee todos los posts):

http://foros.solocodigo.com/index.php?showtopic=10398

436
C/C++ / Re: Memoria Dinamica
« en: Lunes 8 de Noviembre de 2004, 17:13 »
Cita de: "patitofeo"


Citar
int(*matriz)[8]=new int [8][10];

es una reserva dinamica de vectores estaticos, no una matriz dinamica bidimensional. Pero, aunque yo nunca usaria esto, puede valer.
 :lol:
No hay que ser tan "fundamentalistas" con la reserva de memoria, casi dirían que es una herejía hacer reservas dinámicas de vectores estáticos...  :blink:

Por ejemplo, para ajustar el gamma de una imagen (8 bits por canal) se puede usar un arreglo pequeño de 256 enteros de 1 byte. Siempre tendrá 256 enteros, ni uno menos ni uno más. Otro ejemplo, si tienes dos parámetros tienes un arreglo de 2 dimensiones 256x256 enteros de 1 byte. Claro que en este caso puedes definirlo como un arreglo de 1 dimensión de 2^16 enteros de 1 byte por que se puede usar desplazamientos << para acceder a la posición requerida. También en este caso las dimensiones del arreglo nunca serán ni más ni menos de 2^16 enteros de 1 byte.

En estos casos donde las dimensiones del arreglo NO CAMBIARAN por X o Z razón, pues no tiene sentido buscar 3 pies al gato. ;)

437
Visual C++ / Re: Transmision De Tramas Udp A Multicast
« en: Lunes 8 de Noviembre de 2004, 16:44 »
:devil:

Es que existen reglas para las direcciones IP, máscaras, etc.... :rolleyes:

La ip "172.31.0.101 con mascara 255.255.255.0" no sigue el convenio:
Citar
Class C - 110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh

        * First three bits 110; 21 network bits; 8 host bits

        * Initial byte: 192 - 223

        * 2,097,152 Class Cs exist

        * 254 hosts on each Class C

:devil:

438
Delphi / Re: Caracter -> Codigo Ascii
« en: Lunes 8 de Noviembre de 2004, 04:24 »
1.- Extraes el caracter a una variable char.
2.- Type casting para tomarlo como entero de 1 byte en este caso: ord
3.- Convertir el entero de 1 byte en una cadena conteniendo el número: Inttostr

MiCaracter:char;
...
MiCaracter:='Y';
showmessage('Caracter:'+MiCaracter+' ASCII:'+inttostr(ord(MiCaracter)));

Nota: los códigos varían entre sistemas operativos a partir del 128 al 255. Existen también caracteres de 2 bytes "unicode". El procedimiento es similar teniendo cuidado de extraer los 2 bytes que corresponden, pasarlos a tipos enteros y convertirlos a representación en cadena con el inttostr.

439
Delphi / Re: Peguntas Sobre Delphi
« en: Lunes 8 de Noviembre de 2004, 04:14 »
Cita de: "fabrizzio"
que tal les tengo una pregunta,
como es la estructura en lenguaje delphi??,  tengo 2 codigos de 2 programas hechos en delphi, y quiero pasar una accion de un boton de la barra de heramientas de un programa a el otro programa, pero el copiar la accion del boton me genera error

espero me hayan entendido , por favor ayuda

graccias

atte
fabrizzio
 :comp:  :comp:
Creo que te refieres a esto:

Copiaste en bloque un procedimiento o función de un archivo a otro, pero como no copiaste la parte de las declaraciones en "Interface" el código está incompleto.

Bueno te faltaría agregar en la parte de "Interface", en el inicio del archivo .pas La declaración de la función o procedimiento dentro de su clase si es el caso, o afuera de las definiciones de clases si es un procedimiento o función "suelta". Esto es para definir que procedimientos son visibles fuera del módulo. En el caso de las clases, se definen en la parte de interface sólo si quieres que queden visibles afuera del módulo (lo que es muy común :D ).

Código: Text
  1.  
  2.  
  3. Interface
  4. ...
  5. type
  6. TMainForm = class(TForm)
  7. ...
  8. public// métodos públicos
  9. ...
  10. //Declaración del método en la parte pública de la clase,
  11. //quedando accesible para otros módulos
  12. procedure Procesopesado1Click(Sender: TObject);
  13. ...
  14. end;
  15. ...
  16. //Declaración en la parte de Interfaz, quedando visible para otros módulos
  17. procedure Procesopesado1;
  18.  
  19. implementation
  20. ...
  21. procedure Procesopesado1;
  22. begin
  23. //el cuerpo del procedimiento
  24. ...
  25. end;
  26.  
  27. ...
  28. //Para los métodos: Al inicio va el nombre de la clase
  29. procedure TMainForm.Procesopesado1Click(Sender: TObject);
  30. begin
  31. //el cuerpo del método
  32.   Procesopesado1;
  33. end;
  34.  
  35.  
  36.  

440
C/C++ / Re: Tutoria En Un Pequeño Programa
« en: Lunes 8 de Noviembre de 2004, 03:57 »
¿Notaste que quieres usar variables del tipo "char" como "flotantes"?  :blink:

----

Totalmente de acuerdo con diodo.

Por el momento lo más importante es que escribas código lo más legible, ordenado y comentado que puedas para evitar bugs y otros problemas. El goto NUNCA te ayudara a tener código cómodo para analizarlo en busca de bugs. Yo programé bastante en el antiguo basic con gwbasic y realmente no es cómodo.

Actualmente no veo otra utilidad al goto que en casos especialmente raros de optimización. De todas formas a usar el "goto" generalmente se opta directamente por codificar la parte a optimizar en ASM.

441
Delphi / Re: Colores Sintaxis
« en: Viernes 29 de Octubre de 2004, 03:13 »
Con razón estoy medio loco.  :blink:

La verdad que programar con fondo oscuro es mejor y que pena que se les pasara un detalle tan simple como hacer configurables todos lo colores y no sólo limitarse a una paleta tan chica.

442
VB .NET / Re: Redimensionar Una Imagen
« en: Jueves 28 de Octubre de 2004, 18:18 »
Que tal una simple regla de 3 (método del vecino cercano) para realizar un cambio de tamaño de la imagen: Dos ciclos de NxM pixeles finales de la imagen y la regla de 3 para saber de donde sacas los valores de colores. Claro que tendrías que saber como acceder a nivel de pixeles a la imagen de forma eficiente... pero en VB para esos casos de tratamiento de imágenes generalmente se prepara un dll y desde VBasic se llama al dll... sólo así logras algo tan eficiente como hacerlo en C++... de hecho el dll sería hecho en C++, Delphi u otro compilador con esas capacidades.

Para Delphi hay componentes que hacen maravillas con imágenes pero no se para el Vbasic, tal vez buscando algo ya hecho... seguro alguien conoce alguna web con una biblioteca de funciones para imágenes en VBasic.

443
Delphi / Re: Botones De Forma Hija
« en: Jueves 28 de Octubre de 2004, 04:00 »
Supongo que no te refieres a una aplicación MDI, ya que en ese caso esos botones si tienen mucho uso.

En ese caso podrías probar con cambiar el tipo de borde de la "forma" a Dialogo:

BorderStyle:=BsDialog;

Compilas, corres y ves los resultados.
Feliz noche de brujas!!!

444
Delphi / Re: Exportar A Txt
« en: Martes 26 de Octubre de 2004, 00:20 »
El problema es que llamas directamente al eof, sin indicar un objeto:

"The Eof function tests whether or not the current file position is the end-of-file. F is a text file variable. If F is omitted, the standard file variable Input is assumed. "

De esta forma no verificas el EOF del dataset del datasource de la tabla sino de la variable de archivo estándar que nada tiene que ver en este caso.

Tendrías que acceder de esta forma:  table.dataSource.dataSet.EOF

Saludos y feliz noche de brujas. :devil:

P.D.

El tag [c o d e]  va sin espacios intermedios.  ;)

445
Programación de Videojuegos / Re: ¿cómo Emulo Delay() En Devc++?
« en: Lunes 25 de Octubre de 2004, 15:20 »
:D

Tienes que aprender a usar timers. En windows la interfaz con el usuario está orientada a eventos. Un timer "dispara" un evento cada vez que transcurre un determinado lapso de tiempo.

Otra alternativa es controlarlo todo desde un ciclo maestro para tener mayor precisión y control (en otras palabras tu mismo detectas cuando iniciar cada evento verificando el tiempo transcurrido desde la última vez que iniciaste un evento). El problema es que es mucho más complejo que tener un timer que te simplifica la codificación.

El foro tiene una sección dedicada exclusivamente al Allegro en la sección de programación de videojuegos.

446
Delphi / Re: Delphi 6 Algoritmos Geenticos
« en: Lunes 25 de Octubre de 2004, 15:10 »
Lo más cómodo es utilizar cadenas, un bit en cada char.

Pero tampoco es muy difícil utilizar enteros de 32 bits, un bit por bit, que es más rápido que lo anterior si utilizas los operadores de bits: AND OR XOR para enteros y los desplazadores SHR SHL. La única limitante es que tus variables (no todo el segmento de "código genético", sino cada una de tus variables) quedarán limitadas a un máximo 32 bits por algunos detalles de implementación y por optimización. Esta limitación generalmente no es problema por que 32 bits de precisión para cada variable (en el contexto de algoritmos genéticos) es precisión de sobra siempre y cuando "normalizes" tus variables para optimizar el consumo de tiempo de CPU (reduciendo el espacio de búsqueda) aprovechando de esta form cada bit que asignes a tus variables.  ;)

447
C/C++ / Re: Algo Sobre El Ramdom...
« en: Domingo 24 de Octubre de 2004, 00:44 »
Si usas el random... piensa en dados, ruletas, etc...  ;)

Incluso puedes hacer variar la distribución de probabilidad:

random(10) //un número de 0 a 9, distribución de probabilidad uniforme

random(5)+random(6)  //También un número de 0 a 9, pero con distribución de probabilidad modificada.

random(4)+random(4)+random(4) //También un número de 0 a 9 :) Claro que la probabilidad de sacar 0 o 9 es bastante baja comparando a la probabilidad de sacar un 4 o un 5.

P.D.

Los números pseudoaleatorios se utilizan ampliamente en encriptación. (confidencialidad y autentificación)

448
Programación de Videojuegos / Re: Oo ¿vieron Este Juego En Flash?
« en: Sábado 23 de Octubre de 2004, 00:31 »
Muy bueno, lo mejor es que puedes "personalizar" tu personaje.  :D

-------------

Bueno, si hablamos de juegos fuera de lo común no podemos olvidar esta página:

http://www.phobe.com/sfi/sigmain.html

 :lol:  :rolleyes:  :)  ;)  :whistling:

449
Delphi / Re: Como Leer Y Escribir Archivos De Formato Wav,mp3.
« en: Viernes 22 de Octubre de 2004, 18:54 »
Veo que no sólo necesitas orientación en un tema puntual, por lo que te recomiento buscar componentes open source en "www.torry.net" o en "sourceforge.net".

Adjunto una biblioteca para leer archivos .WAV PCM que elaboré para ser usada para cargar los buffers de sonido de DirectSound. Es ideal si no quieren que su ejecutable "engorde" usando componentes que además escriben y reproducen archivos .WAV y romperse la cabeza buscando como usarlos para crear y llenar los buffers de directsound.

Código: Text
  1.  
  2. unit LectorWAV;
  3. (*
  4. Autor: Ing. Sergio A. Chávez R.
  5.  
  6. La clase TlectorWav permite leer un archivo .WAV PCM en un buffer para directSound.
  7. Pasos para usarlo:
  8.  1.- Crear el objeto TlectorWav indicando el nombre del archivo &#34;.WAV&#34;.
  9.  2.- Verificar la propiedad &#34;.preparado&#34; de TlectorWav, falso=&#62;cancelar todo, error al leer el archivo.
  10.  3.- Preparar el descriptor de buffer para directsound usando &#34;.TamannoDatos&#34; y &#34;.formatoOnda&#34; de TlectorWav;
  11.  4.- Crear el buffer de sonido directsound con el descriptor de buffer preparado.
  12.  5.- Usar el procedimiento &#34;lock&#34; del buffer de sonido directsound creado para obtener la referencia al buffer y su tamaño.
  13.  6.- Llamar al método &#34;.Leer&#34; de TlectorWav indicando la posición inicial del buffer y el tamaño del buffer.
  14. *)
  15.  
  16. interface
  17.  
  18. uses mmsystem;//Para el TWaveFormatEx, para usar con directSound.
  19.  
  20. type
  21.   TWavTag=array[0..3] of char;
  22.   TErrorWavSound=integer;
  23.  
  24. const
  25.   //Errores:
  26.   WV_Ok=0;
  27.   WV_EncabezadoIncorrecto=1;
  28.   //Constantes auxiliares
  29.   MaxTammanoBuffer=32768;
  30.   smTelefono:integer=11025;
  31.   smRadio:integer=22050;
  32.   smCD:integer=44100;
  33.   chMono:word=1;
  34.   chStereo:word=2;
  35.   rsRadio:word=8;
  36.   rsCD:word=16;
  37.   Inicio_Area_Datos=44;
  38.   tgRIFF:TWavTag=('R','I','F','F');
  39.   tgWAVE:TWavTag=('W','A','V','E');
  40.   tgfmt:TWavTag=('f','m','t',' ');
  41.   tgdata:TWavTag=('d','a','t','a');
  42. (*
  43. Control de tamaño de archivo. Es totalmente opcional pero es recomendable no
  44. crear buffers demasiado grandes fraccionandolos en varios de menor tamaño.
  45. *)
  46.   MaximoAceptable=1048576;//Máximo archivos de 1MB
  47.   //Tags Para formato PCM
  48.   PCMversion1:integer=&#036;10;
  49.   PCMversion2:word=&#036;1;
  50.  
  51. type
  52.   TlectorWav=class(TObject)
  53.   private
  54.     Tamanno_Datos:integer;
  55.     formato:TWaveFormatEx;
  56.     fabierto:bytebool;
  57.     archivo:file;
  58.     destructor destroy; override;
  59.   public
  60.     property TamannoDatos:Integer read Tamanno_Datos;
  61.     property BitsPorMuestra:word read formato.wbitspersample;
  62.     property Canales:word read formato.nchannels;
  63.     property Muestras:integer read formato.nSamplesPerSec;
  64.     property FormatoOnda:TWaveFormatEx read formato;
  65.     property Preparado:bytebool read fabierto;
  66.     constructor create(const FileName:string);
  67.     function Leer(var Buffer; Longitud:integer):boolean;
  68.   end;
  69.  
  70. implementation
  71.  
  72. constructor TlectorWav.create(const FileName:string);
  73.   function LeerEncabezado:TErrorWavSound;
  74.   var tag:TWavTag;
  75.       ver1,Bytes_Por_Segundo,Tamanno_Total:integer;
  76.       ver2,Bytes_Por_Muestra:word;
  77.   begin
  78.     result:=WV_EncabezadoIncorrecto;
  79.     BlockRead(Archivo,tag,4);
  80.     if tag&#60;&#62;tgRIFF then exit;
  81.     BlockRead(Archivo,Tamanno_Total,4);
  82.     if Tamanno_Total&#62;MaximoAceptable then exit;
  83.     BlockRead(Archivo,tag,4);
  84.     if tag&#60;&#62;tgWAVe then exit;
  85.     BlockRead(Archivo,tag,4);
  86.     if tag&#60;&#62;tgfmt then exit;
  87.     BlockRead(Archivo,ver1,4);
  88.     if ver1&#60;&#62;PCMversion1 then exit;
  89.     BlockRead(Archivo,ver2,2);
  90.     if ver2&#60;&#62;PCMversion2 then exit;
  91.     BlockRead(Archivo,formato.nchannels,2);
  92.     if formato.nchannels&#62;2 then exit;
  93.     BlockRead(Archivo,formato.nsamplespersec,4);
  94.     if formato.nsamplespersec&#62;smCD then exit;
  95.     BlockRead(Archivo,Bytes_Por_Segundo,4);
  96.     BlockRead(Archivo,Bytes_Por_Muestra,2);
  97.     BlockRead(Archivo,formato.wbitspersample,2);
  98.     if formato.wbitspersample&#62;rsCD then exit;
  99.     BlockRead(Archivo,tag,4);
  100.     if tag&#60;&#62;tgdata then exit;
  101.     BlockRead(Archivo,Tamanno_Datos,4);
  102.     if Tamanno_Datos&#62;Tamanno_Total then exit;
  103.     //Formato:
  104.     with Formato do
  105.     begin
  106.       wFormatTag:=Wave_Format_PCM;
  107.       nblockalign:=(nchannels*wbitspersample) div 8;
  108.       nAvgBytesPerSec:=nsamplespersec*nblockalign;
  109.       cbSize:=0;
  110.     end;
  111.     result:=WV_Ok
  112.   end;
  113. begin
  114.   inherited create;
  115.   fabierto:=false;
  116.   assignfile(Archivo,FileName);
  117.   FileMode:=0;
  118.   reset(Archivo,1);
  119.   if LeerEncabezado=WV_Ok then
  120.     fabierto:=true
  121.   else
  122.     CloseFile(Archivo);
  123. end;
  124.  
  125. function TlectorWav.Leer(var Buffer; Longitud:integer):boolean;
  126. var tama,leido,totalleido:integer;
  127.     referenciaDatos:pointer;
  128. begin
  129.   if fabierto then
  130.   begin
  131.     totalleido:=0;
  132.     referenciaDatos:=@Buffer;
  133.     while totalleido&#60;longitud do
  134.     begin
  135.       if longitud-totalleido&#60;MaxTammanoBuffer then
  136.         tama:=longitud-totalleido
  137.       else
  138.         tama:=MaxTammanoBuffer;
  139.       blockread(archivo,referenciaDatos^,tama,leido);
  140.       inc(integer(referenciaDatos),leido);
  141.       inc(totalleido,leido);
  142.       if (tama&#60;&#62;leido) then
  143.         break;
  144.     end;
  145.     result:=longitud=totalleido;
  146.   end
  147.   else
  148.     result:=false;
  149. end;
  150.  
  151. destructor TlectorWav.destroy;
  152. begin
  153.   if fabierto then
  154.     CloseFile(Archivo);
  155.   inherited destroy;
  156. end;
  157.  
  158. end.
  159.  
  160.  

450
Delphi / Re: Exportar A Txt
« en: Viernes 22 de Octubre de 2004, 17:51 »
Para el foro el codigo ponlo entre "[ C O D E ][/ C O D E ]" usando el boton del mismo nombre al lado de quote y list, para que sea legible y no se vea un asco.

1.- ¿Cual es el numero y mensaje de error?,
Delphi tiene el "try except", usalo y en except muestra en pantalla el error eso lo obtienes con la propiedad ErrorCode del EInOutError. Sabiendo EXACTAMENTE cual es el error tal vez de des cuenta inmediatamente que hay que modificar.

2.- Value es un "variant", asi que mejor te aseguras que puedas accederlo directamente asi o tal vez usar mejor un ".asFloat" o como veas conveniente. Fijate en la ayuda para más detalles.

Ejemplo:

Código: Text
  1.  
  2. Memo1.Lines.Add(Form1.Table1.FieldByName('Prom1').asString);//como cadena
  3.  
  4. Memo1.Lines.Add(Form1.Table1.FieldByName('Prom1').Value);//directo es variant
  5.  
  6. Form1.Table1.FieldByName('Prom1').asFloat;//si lo necesitas como flotante
  7.  
  8.  

3.- sacale las comillas a la variable de tipo cadena prom...

Código: Text
  1.  
  2. Memo1.Lines.Add('prom');
  3.  
  4.  

¿O quieres en el memo esto?

prom
prom
prom
prom
...

Páginas: 1 ... 16 17 [18] 19 20 ... 27