Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Impresion Pos Sunmy V2 Pro (https://www.clubdelphi.com/foros/showthread.php?t=95183)

pruz 06-05-2021 22:44:40

Impresion Pos Sunmy V2 Pro
 
Buenos dias amigos,
estoy desarrollando una aplicacion en delphi tokio para android, y la estoy instalando en el POS SUNMY V2 PRO, este pos trae una impresora de vales incorporador y he aqui donde empiezan mis problemas NO PUEDO IMPRIMIR. he busca documentacion para enviar a imprimir no he podido hacer nada.
Si alguin me puede ayudar.

La aplicacion en general funciona bien, solo que no se como mandar a imprimir.


Patricio

Casimiro Notevi 07-05-2021 09:27:27

En la web del fabricante hay documentación:
https://docs.sunmi.com/en/documentat...oducts/v2-pro/
Y concretamente el apartado de la impresora:
https://docs.sunmi.com/en/general-fu...tomer-display/
A ver si te sirve.

pruz 12-05-2021 20:48:55

Casimiro:

muchas gracias por tu ayuda, pero no he podido avanzar mucho...nose en realidad como empezar o donde hacer las llamadas de los
servicio o procedimiento para imprimir. Estoy bloqueado..
si tu pudiaras enviarme algun ejemplo del codigo en delphi..seria de mucha ayuda,,solo si puedes

Gracias

Casimiro Notevi 12-05-2021 21:43:00

No puedo ayudar mucho con eso, además no tengo ese dispositivo.
En la web que te he indicado hay ejemplos para varios sistemas, también dice que es compatible con Esc/Pos de epson.
Hay código de ejemplo, aunque no para delphi.
A ver si algún compañero puede echarte una mano, cuando yo empecé a programar para android lo tuve que hacer con otras herramientas porque delphi todavía no tenía nada para android. Han cambiado mucho las cosas desde entonces.

pruz 19-05-2021 21:49:33

memo1.lines.Add(aBlueDevices.Items[i].DeviceName);
Gracias amigos.
ya solucione el problema de la impresion, se debe manejar como un dispositivo Bluetoon.
les dejo el codigo si alguien lo necesita.


Código Delphi [-]
//ESTA RUTINA BUSCA EL DISPOSITIVO
Var

  Msg, Texto, ServiceGui, ServiceName: string;
  BluetoothAdapter: TBluetoothAdapter;
  FBluetoothManager : TBluetoothManager;
  ListaDeAparelhosPareados: TBluetoothDeviceList;
  LServices: TBluetoothServiceList; 

BEGIN

try
   
    FBluetoothManager := TBluetoothManager.Current;
    BluetoothAdapter := FBluetoothManager.CurrentAdapter;
    ListaDeAparelhosPareados := BluetoothAdapter.PairedDevices;


    for I := 0 to ListaDeAparelhosPareados.Count - 1 do
    begin
      LDevice := ListaDeAparelhosPareados[i] as TBluetoothDevice;
       LABEL1.cAPTION := LDevice.DeviceName;  //NOMBRE DEL DISPOSITIVO

      if LDevice.IsPaired then
      begin
        LServices := LDevice.GetServices;
        for B := 0 to LServices.Count - 1 do
        begin
          ServiceGUI := GUIDToString(LServices[b].UUID);
          Guid := LServices[b].UUID;
          ServiceName := LServices[b].Name;
        end;
      end;
    end;
  except
   on E: Exception do
   begin
     Msg := E.Message;
     ShowMessage('Error al Conectar la Impresora ' + Msg) ;
   end;
 end;




END;



//Y ESTA IMPRIME

BEGIN

    FSocket := LDevice.CreateClientSocket(Guid, true);
    if FSocket = nil then BEGIN
        Memo1.Lines.Add('FSocket nulo');
        EXIT;
    END;


   if Assigned(FSocket) and (FSocket <> nil)
   then Begin

        if NOT FSocket.Connected then FSocket.Connect;
         TRY

            lineax := #27 + ' ' + #13#10;
            lineax := #27#69#49  + 'Prueba Teste 1 ' + #13#10;
            lineax := lineax + #27#69#48 + 'Prueba Teste 2 ' + #13#10;
            lineax := lineax + #27 + 'hola 3 ' + #13#10;
            lineax := lineax + #27#69#49 + 'Prueba Teste 4 ' + #13#10;
            lineax := lineax + #27 + 'hla 5 ' + #13#10;
            lineax := lineax + #27#69#48 + ' Prueba Teste 5 ' + #13#10;
            lineax := lineax +  #13#10;

            Texto := lineax ;

            ToSend := TEncoding.UTF8.GetBytes(Texto);
            FSocket.SendData(ToSend);
            Sleep(100);



         EXCEPT
             MENSAJEMSG('NO CONECTADO Imprimir 1 ');
         END;
   End else begin

      MENSAJEMSG('NO CONECTADO Imprimir 2 ');

   end;
END.

Casimiro Notevi 19-05-2021 22:32:40

Gracias por publicarlo.
Después de más de 130 mensajes ya podrías haber usado la etiqueta de código ;)


La franja horaria es GMT +2. Ahora son las 23:50:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi