FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Abrir un archivo txt en un StringGrid
Hola tengo el siguiente problema a la hora de abrir un archivo Txt y cargarlo a un StringGrid... Quiero que cuando habra el archivo, visualizarlo en forma de matrix en el StringGrid...
Por ejemplo en contenido del Txt es 'Delphi' y me gustaria verlo en la matrix de esta forma 'D e l p h i'..... ya realice un pequeño ejemplo de como verlo en un Memo pero para la otra forma no tengo idea de como hacerlo.... Desde ya muchas gracias............ |
#2
|
||||
|
||||
Hola
Tal vez si nos muestras lo que tienes podriamos darnos una idea. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
bueno te cuento que con un simplie codigo, usando un button y usando un Opendialog puedo abrir el archivo Txt y visualizarlo en un Memo...
aqui estan las pocas linea del codigo.. procedure TForm1.Button1Click(Sender: TObject); begin opendialog1.Execute; memo1.Lines.LoadFromFile(opendialog1.FileName); {nose lo que va aqui para tambien cargarlo en el stringgrid} end; |
#4
|
||||
|
||||
Hola blackpic,
No se si te he comprendido bien. ¿Deseas que el texto leído de un archivo se copie en un TStringGrid, cada letra en una columna distinta? Si es eso, entonces bastaría con realizar un algoritmo como este, por ejemplo: 1. Establecer la cantidad de columnas adecuadas al tamaño del texto 2. Recorrer el texto y copiar el caracter i_ésimo en la columna i_ésima Un ejemplo de esto es como sigue:
Saludos, |
#5
|
||||
|
||||
Cita:
Para leer un archivo tienes dos opciones: Cargarlo en una fila, o cargarlo en una columna. El StringGrid tiene dos propiedades del tipo TStrings: Cols, y Rows. Como son TStrings, cuentan con el método LoadFromFile. En resumen lo que pareciera estás buscando es esto:
Pero hay algo que me llama la atención. Cómo debemos interpretar la diferencia entre 'Delphi' y 'D e l p h i'?: Cita:
Aconsejo leer la ayuda que proporciona Delphi sobre el componente que estamos tratando. Saludos, |
#7
|
||||
|
||||
bueno sigo con mis avances gracias a ustedes intentendo hacer algo con estas linea
hice esta parte haver como podria verce el Txt en las columnas y lo que sale en cada columna es |Delphi| |Delphi| |Delphi| |Delphi| |Delphi| |Delphi|, 6 veces ya que en el contenido del Txt hay 6 lectras.. estoy buscano la manera de visualizarlo como el ejemplo que me puso el amigo Delphius con el Edit... este es lo poco que tengo realizado...
ah amigo Delphius cuando me referia a escribir 'Delphi' y 'D e l p h i'?: era a representarlo ya sea en las columnas o en las filas de la matriz... y disculpa no se por que salio mal cuando lo publique ya que le di vista previa y vi el post bien... Última edición por blackpic fecha: 14-12-2008 a las 22:46:42. |
#8
|
||||
|
||||
Cita:
blackpic, la verdad es que no logro entender nada de lo que escribiste. Por favor edita el mensaje y emplea correctamente la etiqueta DELPHI: [ DELPHI ]el código aqui[ /DELPHI ] (Sin los espacios entre los corchetes) Para que el código se resalte. ¿Cómo que te sale 6 veces, seis letras? Yo veo que por lo que comentas: tienes escrito 6 veces "Delphi" en tu archivo. Ha, por cierto, cuando uno invoca al LoadFromFile() debe, previamente, establecerse la cantidad de filas o columnas. Al menos en D6, no se añaden las filas o columnas necesarias para que todo el contenido del archivo entre. Desconozco si en otras versiones el comportamiento es similar, o si se ha modificado. ¿Podrías aclararte por favor? Cuanto más detalles nos aportes más fácil será ayudarte. No te vamos a cobrar por la cantidad de palabras. No ahorres, se más descriptivo y prolijo al momento de postear. Por favor. Saludos, |
#9
|
||||
|
||||
Disculpa pero ya esta el post correjido
|
#10
|
||||
|
||||
Hola blackpic,
Ahora si se entiende. El motivo de porqué te aparece Delphi repetido en las filas o columnas se debe a que estás abriendo el archivo en todas las filas o columnas. Los ejemplos que te he dado son simples. Se supone que tu en base a esos ejemplos los adaptaras a tus necesidades. En el primer código que te he mostrado, dado el contenido de un TEdit, se "crean" las columnas necesarias para contener todo el texto, y luego caracter a caracter se va copiando el contenido. En el segundo ejemplo he dado a conocer la forma en como se puede leer un archivo de texto, y mostrarlo en una fila o columna (según sea el caso). Estás confundiendo las propiedades Cells, Rows, y Cols. En resumen es: Cells: para acceder a una celda dada una posición determinada. Cols: para acceder a una columna determinada. Rows: para acceder a una fila determinada. Cuando te recomendé ir a la ayuda, no es por vago, sino porque allí está bien aclarado el uso de cada propiedad. No te enojes pero cuando uno hace uso de un componente, es mejor ir a la ayuda y documentarse un poco de su uso. El problema es que el TStringGrid no cuenta con un método, procedimiento o función que lea el contenido de un archivo y lo escriba en el TStringGrid, caracter a carácter en una fila o columna distinta. Necesariamente debes implementar tu la rutina que haga lo que necesitas. Y disculpa que sea insistente, pero tu explicación está muy floja. ¿Cuántas líneas tiene el texto? ¿Sólo se lee una? ¿10? ¿200? Nos comentabas que el archivo tiene el texto "Delphi". ¿Sólo eso? ¿Esa única línea? ¿O es que lo hiciste a modo de ejemplo? Si el archivo tiene muchas líneas, y se debe volcar el contenido caracter a caracter, habrá que recorrer cada línea y traspasar el contenido de forma similar al primer ejemplo. Pero hay que considerar algo fundamental: la cantidad de columnas (o fila, según sea el caso) debe ser del largo de la línea más larga de todo el archivo. Es decir, que dado un archivo con un texto así: Código:
Texto1 UnTexto Otro texto más largo Código:
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | T | e | x | t | o | 1 | | | | | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | U | n | T | e | x | t | o | | | | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | O | t | r | o | | t | e | x | t | o | | m | á | s | | l | a | r | g | o | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ Algo así:
Notarás que ya sea que en el archivo exista una o más líneas el código funciona. Saludos, |
#11
|
||||
|
||||
Hola
Gracias amigo Delphius por tus aporte y colavoracion ya pude salir adelante... ya sigo a vanzando en esta aplicacion.. |
#12
|
||||
|
||||
Abrir Txt En String Grid
ABRIR TXT EN STRING GRID SEPARADO POR ALGUN TIPO DE CARACTER COMO COMA U OTRO, EN ESTE CASO POR |
Procedure Tform1.CargaTabla(Ruta:String;Tabla:TStringgrid); var Let : File of Char; dat : char; n,col,fil:integer; s : string; begin n:=0; col:=0; fil:=0; AssignFile(Let,Ruta); Reset (Let); while (n <= FileSize(Let)-1) do begin Seek(Let,n); Read(Let, Dat); if (dat <> '|') and (dat<>#13)and (dat<>#10) then begin s:=s+dat; end; if (dat = '|') OR (n = FileSize(Let)-1)OR (dat=#10) then begin s:=TRIM(s); S:=StringReplace(s,'"','',[rfReplaceAll]); tabla.Cells[col,fil]:=S; col:=col+1; s:=''; end; if(dat=#10)then begin fil:=fil+1; col:=0; end; tabla.ColWidths[0]:=150; tabla.ColWidths[1]:=80; n:=n+1; end; tabla.RowCount:=fil; CloseFile(let); end; |
#13
|
||||
|
||||
Hola JUANCBARRETO, estoy haciendo un pequeño validador... y necesito exactamente la solución que planteas así que probé y me fue bien, pero hay un pequeño detalle... la rutina no me carga la última línea del archivo y no he podido dar con la solución
Gracias de antemano por tu tiempo Gustavo Cruz |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
no puedo abrir un archivo con ShellExecute si el archivo es variable | belpab | API de Windows | 2 | 28-11-2007 16:24:22 |
STringGrid: cargar archivo previamente guardado. | amadis | OOP | 4 | 01-05-2007 23:52:30 |
Abrir .INI en StringGrid | Iskariote0087 | Varios | 3 | 04-08-2006 17:58:58 |
Abrir archivo | Ivan_25 | C++ Builder | 8 | 09-11-2005 12:28:20 |
Exportar un StringGrid a un Archivo.TxT | kokoyweb | Varios | 1 | 24-08-2004 22:04:26 |
|