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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2020
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Apertura de cajón con Delphi Berlín

Hola a tod@s.


He pasado una aplicación de Delphi 2007 a Delphi Berlín y me encuentro con el problema de que no me funciona la apertura del cajón. El caso es que el mismo código que funciona con 2007 no funciona con Berlín y es el siguiente:


Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);

  function CreaLinea: String;
  var
    sAux: String;
  begin

    Result := '';

    sAux := '27 112 0 20 200';
    while Pos(' ', sAux) > 0 do begin

      try
        Result := Result + Chr(StrToInt(Copy(sAux, 1, Pos(' ', sAux)-1)));
      except

      end;

      sAux := TrimLeft(Copy(sAux, Pos(' ', sAux)+1, Length(sAux)));

    end;

    try
      Result := Result + Chr(StrToInt(sAux));
    except

    end;

  end;

var
  DocInfo1: TDocInfo1;
  Handle:   THandle;
  Linea:    String;
  N:        DWORD;
begin
  if not OpenPrinter(PChar('PRP-300'), Handle, nil) then begin
    ShowMessage('Error en OpenPrinter : ');
    Exit;
  end;

  with DocInfo1 do begin
    pDocName    := PChar('CAJON');
    pOutputFile := nil;
    pDataType   := 'RAW';
  end;

  StartDocPrinter(Handle, 1, @DocInfo1);

  StartPagePrinter(Handle);

  Linea := CreaLinea;
  WritePrinter(Handle, PChar(Linea), Length(Linea), N);

  EndPagePrinter(Handle);

  EndDocPrinter(Handle);

  ClosePrinter(Handle);

end;


Imagino que será algo del juego de caracteres Ansi/UTF o algo así pero la verdad es que no doy con la tecla.


Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 11-08-2020
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Tiene toda la pinta de ser lo que dices.

Puedes solucionarlo usando ANSISTRING o SHORTSTRING en lugar de STRING, PANSICHAR en lugar de PCHAR y en vez de CHR usa ANSICHAR.

También deberás incluir la unidad AnsiStrings en vez SysUtils. Ojo, si es imperativo usar SysUtils entonces deberás prefijar las llamadas para evitar ambigüedades.

Última edición por Ñuño Martínez fecha: 11-08-2020 a las 13:45:52.
Responder Con Cita
  #3  
Antiguo 11-08-2020
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Buenas compañero.


He cambiado la declaración de la variable "linea" por AnsiString y va perfectamente.


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 12-08-2020
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Para eso estamos.

Yo me estuve pegando con un problema parecido con Allegro.pas, y aprendí bastante sobre cómo gestionan las cadenas de caracteres C, Free Pascal y Delphi, así que ahora soy casi un experto.
Responder Con Cita
  #5  
Antiguo 12-08-2020
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.214
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Para eso estamos.

Yo me estuve pegando con un problema parecido con Allegro.pas, y aprendí bastante sobre cómo gestionan las cadenas de caracteres C, Free Pascal y Delphi, así que ahora soy casi un experto.

Estupendo, me encanta tener amigotes expertos.
__________________
Be water my friend.
Responder Con Cita
Respuesta



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
Enviar a OKIPOS 410 cadena de apertura de cajon. I/Oerror, el archivo (LPT1)no existe maiquemasque Impresión 3 04-04-2011 15:04:00
Problemas Apertura Cajon Fastreport+epson tm-t88iv hibero Impresión 3 09-04-2010 03:10:08
Acelerar apertura de consulta desde Delphi contra Access Sergiov SQL 4 13-04-2007 10:42:59
MSProject (Apertura de un proyecto desde Delphi)!!! DB-ADO Conexión con bases de datos 3 03-03-2005 10:03:35


La franja horaria es GMT +2. Ahora son las 19:40:51.


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