Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 24-05-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola gmontes.

No tengo muy en claro como se seleccionan los archivos y algún detalle más.

Pero, a ver se me ocurre, para respetar el viejo formato usar un TStringGrid
con tres columnas, poner FixedCols y FixedRows a False y cargar en la primera
columna el texto hasta encontrar el caracter '[' y en la tercera columna el resto de la cadena a
partir del caracter ']', quedando la segunda para el ingreso.

También habría que prohibir que se posicionen en la primera y tercera columna.
Hice una pequeña prueba, sin comprobaciones del tipo y cantidad de caracteres que pueden
ingresar por ejemplo.Y por supuesto sin impresión. (es sólo un bosquejo)

El ejemplo genera un archivo 'PRUEBA.TXT' donde quedan guardadas las líneas con lo tipeado por el usuario.
Código Delphi [-]
...
implementation
{ Impedir acceso a líneas 0 y 2 }
procedure TForm1.StrGrdSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
  CanSelect:= ACol = 1;
end;
{ Abrir uno de los 200 y pasarlo al StringGrid }
procedure TForm1.btAbrirClick(Sender: TObject);
var
  txt: TextFile;
  lin: Integer;
  st: string;
begin
  if OpenDialog1.Execute then
  begin
    AssignFile(txt,OpenDialog1.FileName);
    Reset(txt);
    lin:= 0;
    while not Eof(txt) do
    begin
      ReadLn(txt,st);
      StrGrd.Cells[0,lin]:= Copy(st,1,Pos('[',st));
      StrGrd.Cells[2,lin]:= Copy(st,Pos(']',st),Length(st));
      Inc(lin);
    end;
    CloseFile(txt);
    StrGrd.Row:=0; StrGrd.Col:=1;
  end;
end;
{ Guardar en archivo, imprimir o lo que sea }
procedure TForm1.btGuardarClick(Sender: TObject);
var
  txt: TextFile;
  i: Integer;
begin
  AssignFile(txt,'C:\TEMP\PRUEBA.TXT');
  Rewrite(txt);
  for i:= 0 to StrGrd.RowCount-1 do
    with StrGrd do
      WriteLn(txt,Cells[0,i]+Cells[1,i]+Cells[2,i]);
  CloseFile(txt);
end;
end.

Espero te sirva y saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



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
Como hago reportar ciertas partes de una Tabla de datos? Carlos76 Firebird e Interbase 2 07-08-2007 19:28:42
Reportar documentación en .rft en Enterprise Architect de archivos de Borland C++ kayejero C++ Builder 0 11-12-2006 14:38:49
Resultados para la expresión KeyMan Impresión 1 01-06-2006 10:29:23


La franja horaria es GMT +2. Ahora son las 07:06:18.


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