PDA

Ver la Versión Completa : Como Generar Un Archivo Txt Desde Delphi


AdIIX
08-05-2005, 07:56:03
hola que tal espero que me ayuden con este pequeo problemilla que se me presento, necesito generar un documento txt. en delphi, como si estuviera usando el block de notas de windows.

saludos. :cool:

dec
08-05-2005, 09:01:54
Hola,

Prueba a buscar en este Foro (http://www.clubdelphi.com/foros/search.php?) utilizando, por ejempo, las palabras-clave "archivos texto": aparecen no pocas páginas en donde podrás encontrar varios hilos que seguramente te aportarán soluciones o como poco ideas.

Leer la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) del Foro tampoco te costará nada ni estará demás. En ella cuentas con información acerca de la manera en que plantear las preguntas, cómo escribirlas, cómo no hacerlo, etc., etc.

Lepe
08-05-2005, 11:31:12
Puedes usar un simple TMemo para eso, le pones su propiedad Align = alClient y listo.

Para cargar usa Memo1.lines.LoadFromFile('c:\mio.txt');
Para guardar Memo1.lines.SaveToFile('c:\mio.txt');
Para añadir lineas Memo1.Lines.Add('esta linea la añado al final');

Consulta la ayuda de delphi que viene muy bien sobre este tema.

Un saludo

douglas
25-09-2007, 19:38:14
ok, gracias me sirve bastante, bien ahora, deseo leer cada linea que este dentro de ese memo, en cada una de esas lineas que voy a leer quiero lo siguiente:


a={1,2,3,4,5,6,7,8,9,0}

quiero hacer que lo que este antes del igual declararlo como variable tipo string, y lo que esta dentro de los corchetes almacenarlos a un array, para luego que cuando escriban en otro memo sean reconocidas las palabras.

Lepe
25-09-2007, 20:20:49
¿Y este tema está en el foro Noticias? Por fa, algún moderador que lo mueva.


La función Pos permite saber donde está una subcadena dentro de otra, así que puedes saber donde está el símbolo de igual.

¿Es obligatorio un array para guardar los números?

si tenemos este texto : 1,2,3,4,5,6,7,8,9,0
podemos usar un TStringList para guardarlos, (funciona igual que los elementos de un Combobox, líneas de un memo, etc...)

Para guardarlos puedes usar algo así:

TForm1 = class(TForm)
...

private
numerosDeA :TStringList;
end;

procedure TForm1.button1Click(...)
var lista :string;
idxAbre, i :integer;
idxCierra :integer;
begin
FreeAndnil(numerosDeA);
lista := 'a={1,2,3,4,5,6,7,8,9,0}';
idxAbre := pos('{', lista);
idxCierra := pos('}', lista);
numerosDeA := TStringlist.Create;
numerosDeA.commaText := Copy(lista, idxAbre +1, idxCierra - idxAbre);

For i:=0 to numerosDeA.Count -1 do
ShowMessage(Format('el índice %d de NumerosDeA tiene el texto %s', [ i,numerosDeA[i]]);
end;


Espero se entienda.

Saludos

jhonny
25-09-2007, 21:41:31
¿Y este tema está en el foro Noticias? Por fa, algún moderador que lo mueva.

El mensaje es del 07-05-2005 no sabria decir exactamente cual a sido la causa de que estuviese en Noticias.

douglas
25-09-2007, 21:55:42
bueno ahora supon que en un label quiero la cadena que este despues del igual, y que luego quiero cada caracter de los que estan dentro del memo en otro form. algo asi
ejemplo


letras={a,b,c,d,e,f,g} los caracteres dentro de las llaves son fijos:

con lo de arriba quiero hacer esto:

label1.caption:=letras;
textbox1.text:=a;
textbox2.text:=b;
textbox3.text:=c;
textbox4.text:=d;
textbox5.text:=e;
textbox6.text:=f;
textbox7.text:=g;

por favor necesito ayudita, y perdon por lo de los dos hilos, jamas volvera a ocurri

ContraVeneno
25-09-2007, 23:57:51
¿como le has intentado hacer douglas?

Lepe
26-09-2007, 00:28:36
Con las funciones Pos, Delete y Copy puedes hacerlo.

1- Con la función pos sabes donde está tal o cual caracter.
2- Copias
3- borras la cadena desde el indice 1 hasta la posición del carácter encontrado,
4 - Vuelves al primer paso.

Mira la ayuda de Delphi y mi código anterior (está escrito de memoria, puede tener errores), lo que pretendo es que aprendas tú a hacerlo... y la mejor forma es dar un ejemplo e ideas de como atacarlo.

Si tienes dudas concretas o algo que no entiendas, aqui estamos para ayudarte.

Saludos

douglas
27-09-2007, 18:07:08
si es bueno, que aprenda, pero e estado intentando, pero me falta algo super escencial, como leer linea por linea el memo.

Lepe
27-09-2007, 21:48:04
for i:=0 to memo1.lines.count -1 do
begin
linea := Memo1.lines[i]
end;

Saludos