Crear archivo en memoria.
#1
Escrito 06 marzo 2009 - 05:38
Saludos
#2
Escrito 06 marzo 2009 - 05:49
Encontré esto que pides pero está en C# si te sirve te tocará migrarlo a Delphi
Enviar un Stream por FTP
Salud OS
#3
Escrito 07 marzo 2009 - 05:34
Opción 1:
var Str: TStringList; Mem: TMemoryStream; begin Str:= TStringList.Create; try Str.Add('Linea 1'); Str.Add('Linea 2'); Str.Add('Linea 3'); Mem:= TMEmoryStream.Create; try Str.SaveToStream(Mem); // Aqui haz lo que quieras con el TMemoryStream, por ejemplo Mem.SaveToFile('f:\1.txt'); finally Mem.Free; end; finally Str.Free; end; end;
Opción 2:
procedure WriteStringToStream(Stream: TStream; Str: String); begin Str:= Str + #13#10; // Salto de linea Stream.WriteBuffer(PChar(Str)^,Length(Str)); end; procedure TForm1.Button1Click(Sender: TObject); var Mem: TMemoryStream; begin Mem:= TMEmoryStream.Create; try WriteStringToStream(Mem,'Linea 1'); WriteStringToStream(Mem,'Linea 2'); WriteStringToStream(Mem,'Linea 3'); // Aqui haz lo que quieras con el TMemoryStream, por ejemplo Mem.SaveToFile('f:\2.txt'); finally Mem.Free; end; end;
Este ultimo método es valido pata todas las versiones de delphi excepto para la ultima (2009) ya que en esta versión un carácter de una cadena puede ocupar mas de un byte.
#4
Escrito 07 marzo 2009 - 10:48
Saludos
#5
Escrito 27 octubre 2009 - 08:51
Tengo un sistema que se comnica con la impresora fiscal samsung bixolon, tiene un año trabajando muy bien. El asunto es que ahora me piden que grabe el numero de la factura en la impresora fiscal al momento de la impresion, ok hasta aqui todo bien ya que eso lo supe hacer. El comando que me lo permite es:
function UploadStatusCmd(status:Pointer;error:Pointer;cmd:string): boolean; stdcall external 'tfhkaif.dll';
Lo que pasa es que el escribe la información en un archivo, como se podria hacer para que ese archivo no se grabe en el disco sino que permanezca en memoria?? hay forma de hacerlo??
#6
Escrito 27 octubre 2009 - 09:08
...escribe la información en un archivo, como se podria hacer para que ese archivo no se grabe en el disco sino que permanezca en memoria?? hay forma de hacerlo??
Hace unos meses solucione un problema similar haciendo un hook sencillo a la API WriteFile, obviamente dicho hook solo debe aplicarse a al proceso propio.
#7
Escrito 27 octubre 2009 - 09:18
#8
Escrito 27 octubre 2009 - 09:28
ok, interesante punto de vista, voy a intentarlo
Qué es lo que buscas? que no se cree el archivo, que no se escriba la informacion... o capturar la informacion?
#9
Escrito 27 octubre 2009 - 09:37
ok, interesante punto de vista, voy a intentarlo
Qué es lo que buscas? que no se cree el archivo, que no se escriba la informacion... o capturar la informacion?
Recibir la información, pero sin crear el archivo. tengo pendiente probar lo de la hook