FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como Leo un TXT y lo guardo en una tabla?
Buenos dias a todos los del foro, Sr. tengo un pequeño problema tengo un TXT de esta forma;
__________________________ 005,26.00,0.00,285 006,26.00,0.00,285 007,26.00,0.00,285 008,26.00,0.00,285 __________________________ los datos estan separados por coma el primer dato el numero de empleado que es el me servira de guia para buscar en la tabla para guardar las dema variables, el motor es DBF, como hago para leer cada linea por ejemplo la primera es el empleado 005 tiene 26.00 horas extras y 286 horas acumuladas yo debo buscar su ficha en la tabla y guardar esta data y luego debo pasar a la suiente linea, hasta llegar al final. Como lo hago.
__________________
____________________________ Un saludo a todos... |
#2
|
||||
|
||||
Asigna el archivo a una variable tipo TextFile:
Pasos: 1.-Lees Linea 2.-Extraes Datos guiandote con el Separador "coma" (el Signo) 3.-Al separarlos vas a asignando cada dato al campo correspondiente. 4.- Regresar al Paso 1 hasta que No sea Fin de Archivo. Que tengas buen día. |
#3
|
|||
|
|||
Gracias por responder los pasos los conocos el problema es que la sintaxis no la conosco este es el codigo que utilizo para leer el TXT;
code: _____________________________________________ procedure TConfiguracion.Button1Click(Sender: TObject); Var F1: TextFile; Ch: string; begin AssignFile(F1, 'c:\text.txt'); Reset(F1); Readln(F1, ch); CloseFile(F1); end; _______________________________________________________ lo que se me dificulta es leer linea a linea para guardar en las tablas?? coo es la sintaxis????????
__________________
____________________________ Un saludo a todos... |
#5
|
||||
|
||||
Ok
Para leer de linea a linea utiliza un..
La opción que dice Roman de usar TStringList es Excelente, pero tengo la duda, como saber cual es el Delimitador para separar los datos???? ó ya esta estandarizado que se tiene que usar entre comillas separado con comas???? Espero te haya ayudado. Saludos. Última edición por AGAG4 fecha: 19-10-2004 a las 22:01:35. Razón: Corrección |
#6
|
|||
|
|||
Gracias por responder Roman, observe el hilo que me indicaste pero no se adapta a lo que quiero la sintaxi que uso es la siguiente;
Code: ______________________________________________________________ Var ArchivoCsv, Campos: TStringList; I, J: Integer; F1: TextFile; Ch: string; begin ArchivoCsv := TStringList.Create; Campos := TStringList.Create; try ArchivoCsv.LoadFromFile('c:\HV.txt'); for I := 0 to ArchivoCsv.Count - 1 do begin Campos.Clear; Campos.CommaText := ArchivoCsv[i]; for J := 0 to DataModule2.Table1.FieldCount do begin DataModule2.Table1.Insert; DataModule2.Table1.Fields[J].Value := Campos[J]; DataModule2.Table1.Post; end; end; finally ArchivoCsv.Free; Campos.Free; end; ____________________________________________________________ El txt tien esta forma; 005,260.00,0.00,25 006,2.00,0.00,285 007,2600.00,15.00,25 008,55.00,45.00,25 el problema que tengo es que los datos estan separados por coma pero el detalle es que no tienen la misma longitud por ejemplo en la linea uno 005 es el codigo del trabajador que lo uso como referencia para buscar en la tabla, el 260.00 es dato que debo guaradar en la tabla al igual que el 0.00 y el 25, como hago para determinar el tamaño y guardar corectamente el campo sin cortarlo ????????? Ayuda
__________________
____________________________ Un saludo a todos... |
#7
|
|||
|
|||
Gracias por responder AGAG4, el codigo me da error como declaro el ExtraeDatoDelimitador??
__________________
____________________________ Un saludo a todos... |
#8
|
||||
|
||||
Cita:
Cita:
Cita:
Campos.CommaText := ArchivoCsv[i]; en Campos[0] tienes el código a buscar. Cita:
Igual que antes, una vez que llenas Campos en cada línea del archivo, Campos[0], Campos[1], Campos[3], etc. tendrán los valores de cada campo y con un Length(Campo[n]) calculas la longitud del valor del campo n-ésimo. Está claro que la tabla dbase debe tener la estructura adecuada para recibir los valores pero esto ya no es una cuestión del código sino de que el archivo de texto proporcionado con los datos se ajuste al formato de la tabla. // Saludos |
|
|
|