Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Hola.

Lo que se me ocurre es que al ejecutar el programa desde delphi te de el error EconvertError, esto es porque no lo tienes en la lista "Language exception" del debugger, para añadirlo pica en la casilla de la parte baja a la izquierda de la ventana que pone "Ignore this exception type" y luego picas en "continue", de esta forma lo agregas de forma automática a la lista de errores y no te aparecerá de nuevo.

De todas formas si ejecutas el programa compilado no debe de darte ese mensaje.

Saludos

P.D.: ecfisa y yo seguimos esperando esas birras
Responder Con Cita
  #2  
Antiguo 29-03-2011
kdemia kdemia is offline
Miembro
 
Registrado: may 2010
Posts: 109
Poder: 17
kdemia Va por buen camino
a ver si te sirve ?

Código Delphi [-]
var
  Form1: TForm1;
  Matriz : Array of Array of Integer;

Código Delphi [-]
procedure TForm1.Procesar ( sArchivo: String );
var
  MiArchivo: TStringList;
  i, j, Index: Integer;
  Texto: String;
begin
  MiArchivo := TStringList.Create;
  MiArchivo.LoadFromFile(sArchivo);
  Index := MiArchivo.IndexOf(';ID Coord X Coord Y');

  for i := 0 to Index do
    MiArchivo.Delete(0);

  Index := MiArchivo.IndexOf('[VERTICES]');

  for i := Index - 1 to MiArchivo.Count - 1 do
    MiArchivo.Delete(Index - 1);

  SetLength(Matriz, 3, MiArchivo.Count);

  for i := 0 to MiArchivo.Count - 1 do
  begin
    Texto:= MiArchivo.Strings[i];
    for j := 0 to 2 do
    begin
      Matriz[j, i] := StrToInt(Copy(Texto, 1, Pos(' ', Texto) - 1));
      Delete(Texto, 1, Pos(Texto, ' ') - 1);
    end;
  end;
  MiArchivo.Free;
end;

Llamada al ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Procesar('C:\MiArchivoDeTexto.txt');
end

disculpa no soy muy bueno con los comentarios.. si no entendes alguna linea me preguntas
Responder Con Cita
  #3  
Antiguo 29-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
Yo flipo con la cantidad de maneras de las que se puede hacer una cosa
Responder Con Cita
  #4  
Antiguo 29-03-2011
kdemia kdemia is offline
Miembro
 
Registrado: may 2010
Posts: 109
Poder: 17
kdemia Va por buen camino
Quiza para que tengas mas a mano las dimensiones que te quedo la matriz podrias modificar y en vez de un proceso sea una funcion que devuelva un TPoint..

Código Delphi [-]
function Procesar ( sArchivo : String ) : TPoint;

y antes de la operacion

Código Delphi [-]
...
SetLength(Matriz, 3, MiArchivo.Count);
...

podes agregar un
Código Delphi [-]
Result.X := 3;
Result.Y := MiArchivo.Count;


ahh y hay una parte del codigo que esta mal.. y es esta
Código Delphi [-]
Delete(Texto, 1, Pos(Texto, ' ') - 1);
cambiala por esta otra
Código Delphi [-]
Delete(Texto, 1, Pos(Texto, ' '));
si newtron hay incontables maneras de hacer las cosas XD es buenisimo eso .. :P

Última edición por kdemia fecha: 29-03-2011 a las 13:48:14.
Responder Con Cita
  #5  
Antiguo 30-03-2011
rebufo rebufo is offline
Registrado
NULL
 
Registrado: mar 2011
Posts: 5
Poder: 0
rebufo Va por buen camino
Hola de nuevo a todos.
Estoy trabajando con el código de Newton, pero sigo teniendo problemas a la hora de generar la matriz y no sé muy bien porque. He leído todo lo anterior y efectivamente tenía problemas por el error EconvertErro, pero aun así nada.
Añadiendo o modificando parte del formato (en el archivo .txt) de la matriz [COORDENADAS] he comprobado que el programa la lee correctamente ya que se detiene (me salta un mensaje de error al ejecutar) en el punto donde he añadido la modificación (por ejemplo la letra A).
Para detectar mejor los errores, quiero visualizar en pantalla los pasos de creación de la matriz iCoordenadas con algo parecido a esto. (en Matlab es mucho más fácil detectar los fallos ya que únicamente necesitas eliminar un ; al final de cada orden para visualizarla lo que se está ejecutando en pantalla).
Código Delphi [-]
  
{ Imprimir los resultados en un diálogo de mensajes }
   begin
    For i := 0 to (Length(iCoordenadas)-1) do
      for j:= 0 to 3 do           // previamente tendría que definir la variable j 
       ShowMessage('Matriz['+intToStr(i)+','+intToStr(i)+'] = '+intToStr(iCoordenadas[i,j]));
    end.
Otra opción que me planteo es la de llamar a las variables Id, X, Y de manera independiente.
¿Qué me recomendáis?
Mil Gracias de nuevo.

Última edición por ecfisa fecha: 30-03-2011 a las 15:45:14. Razón: Etiquetas DELPHI
Responder Con Cita
  #6  
Antiguo 30-03-2011
kdemia kdemia is offline
Miembro
 
Registrado: may 2010
Posts: 109
Poder: 17
kdemia Va por buen camino
probaste el codigo que te puse?
Responder Con Cita
  #7  
Antiguo 30-03-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
A ver... que yo me entere....

¿Has probado a poner un punto de interrupción en la línea:
CloseFile(Fichero);para ver si te da error antes o después de llegar ahí?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Matriz dinamica BC++ C++ Builder 7 24-10-2011 19:04:29
cargar matriz corvarod Varios 2 09-03-2009 18:35:42
¿Proyecto Matriz? egostar La Taberna 6 02-10-2008 20:40:26
matriz editable jsanchez OOP 11 20-01-2006 15:28:41
matriz 3 dimensiones Lidia SQL 2 12-12-2005 18:59:58


La franja horaria es GMT +2. Ahora son las 14:06:46.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi