PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Problemas com Impressão Direta e outros #210428

29/01/2004

0

Galera do Fórum.


Estou com 2 dúvidas cruéis que mesmo lendo o Help do Delphi, ainda encontro problemas.

1. Problema
Tenho que imprimir na impressora (mini impressora) os seguintes dados na mesma linha.


Nome do Produto Peso Valor Produto Valor Total a Pagar

Exemplo:
Batata 1.250 0,89 R$ 2,14

Naum estou conseguindo fazer direito pelo Writeln mandando direto para a impressora.
Tenho dúvidas no comando exemplo;

WriteLn(Impressora,Format(´¬10s´,[´teste´]));
O comando Format, não entendi muito bem.
Se alguem pode explicar melhor o comando WriteLn, como imprimir no meu exemplo acima.

Tipo dos campos usado.
Produtochar(23)
Pesonumeric(08,2)
Valornumeric(08,2)
Totaldecimal(10,2)

Naum sei usar muito bem o comando Format ( que no help do delphi tem FormatString, mas naum entendi muito bem ). Se puderem me passar algumas dicas de como usar.
Estou usando Firebird.


2. Usando Dll,
Solicitei ajuda aos amigos do forum, mas mesmo assim naum deu certo

O código da Dll é o seguinte.
library Objetiva;

uses
ShareMem, SysUtils, Windows;

function ZeroEsquerda(const I: integer; const Casas: byte): string; stdcall; overload;
var
Ch: Char;
begin
Result := IntToStr(I);
if Length(Result) > Casas then
begin
Ch := ´*´;
Result := ´´;
end
else
Ch := ´0´;
while Length(Result) < Casas do
Result := Ch + Result;
end;

exports
ZeroEsquerda(const I: integer; const Casas: byte);

end.


Codigo da minha aplicação que usa a Dll.
-----------------------------------------

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ShareMem;

type
TForm1 = class(TForm)
Edit1: TEdit;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
function ZeroEsquerda(const I: integer; const Casas: byte): string; stdcall; external ´Objetiva.DLL´;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.text := ZeroEsquerda(strtoint(edit1.text),13);
end;

end.

A funcao executa normalmente mas quando fecho a aplicação dá o seguinte erro.

´Invalid Pointer Operation´

No código onde esta o erro? O Porque deste erro?
Usei as dicas dos colegas, mas mesmo assim naum deu certo naum.

Por favor, se puderem me ajudar, agradeço.

Valnei


Objetivacreator

Objetivacreator

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar