Ich habe wieder kurzfristig ein POS System zur VerfĂŒgung und nĂ€mlich ein HP RP7800 Retail System und ein HP Retail Integrated 2x20 Display(G6U79AA). Wollte jetzt bisschen damit tĂŒfteln und habe das gefunden.
http://engelhuber.de/blog/2013/02/04/na ... -ansteuern
Der Autor hat sogar die Objekte zugÀnglich gemacht, aber die sind von der alten Version (eine Form) und ich versuche es jetzt zu integrieren (Page), aber meine fehlenden Kentnisse sind mein Hindernis.
Geht es eigentlich sowas in NAV 2016 zu bauen? (vergleiche eine Form von Visual Studio mit Buttons, TextBoxes etc). Ich habe versucht die Sachen von der txt/fob Datei manuell zu importieren aber versagt, da ich nichht genau weiĂ , was ich mit "Controls" machen sollte. Auch WSH Automation ist ein Geheimnis fĂŒr mich.
Die F50000 Display Test.txt Datei von dem Link oben (EngelHubert.de), damit ihr es nicht herunterladen mĂŒsst.
- Code: Alles auswÀhlen
OBJECT Page 50000 Display Test
{
OBJECT-PROPERTIES
{
Date=04.02.13;
Time=09:49:12;
Modified=Yes;
Version List=;
}
PROPERTIES
{
Width=8910;
Height=3520;
SourceTable=Table18;
DelayedInsert=Yes;
SourceTableTemporary=Yes;
OnOpenForm=BEGIN
Zeile1 := 'Hallo Welt !!';
Zeile2 := 'Zweite Zeile....';
TmpPfad := 'C:\Windows\Temp\POSDispOut.dat';
END;
}
CONTROLS
{
{ 1000000000;CommandButton;3520;2750;2200;550;
CaptionML=DEU=Ausgabe;
OnPush=BEGIN
Zeilenumbruch := 10; // Umbruch fÂr Display
AllesLâschen := 26; // alles auf dem Display lâschen
Zeilenanfang := 13; // Cursor am Anfang der Zeile positionieren
Datei.CREATE(TmpPfad);
Datei.OPEN(TmpPfad);
Datei.TEXTMODE(FALSE);
Datei.WRITE(AllesLâschen);
Datei.WRITE(FORMAT(Zeile1)); // erste Zeile ausgeben
Datei.WRITE(Zeilenumbruch);
Datei.WRITE(Zeilenanfang);
Datei.WRITE(FORMAT(Zeile2)); // zweite Zeile ausgeben
Datei.CLOSE;
CREATE(WSH);
WSH.Exec('cmd.exe /Q /C type ' + TmpPfad + ' > ' + FORMAT(ComPort));
CLEAR(WSH);
END;
}
{ 1000000001;TextBox;3630 ;220 ;2750 ;440 ;SourceExpr=Zeile1 }
{ 1000000002;TextBox;3630 ;770 ;2750 ;440 ;SourceExpr=Zeile2 }
{ 1000000003;TextBox;3630 ;1540 ;1700 ;440 ;SourceExpr=ComPort }
{ 1000000004;TextBox;3630 ;2090 ;5060 ;440 ;SourceExpr=TmpPfad }
{ 1000000005;Label ;220 ;2090 ;3300 ;440 ;CaptionML=DEU=Temp. Pfad }
{ 1000000006;Label ;220 ;1540 ;3300 ;440 ;CaptionML=DEU=COM Port }
{ 1000000007;Label ;220 ;220 ;3300 ;440 ;CaptionML=DEU=Zeile 1 }
{ 1000000008;Label ;220 ;770 ;3300 ;440 ;CaptionML=DEU=Zeile 2 }
}
CODE
{
VAR
Zeile1@1000000000 : Text[20];
Zeile2@1000000001 : Text[20];
Datei@1000000002 : File;
WSH@1000000003 : Automation "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} 1.0:{72C24DD5-D70A-438B-8A42-98424B88AFB8}:'Windows Script Host Object Model'.WshShell";
Zeilenumbruch@1000000004 : Char;
AllesLâschen@1000000005 : Char;
Zeilenanfang@1000000006 : Char;
ComPort@1000000007 : 'COM1,COM2,COM3,COM4';
TmpPfad@1000000008 : Text[250];
BEGIN
END.
}
}
Er macht es ĂŒber Windows Scripting Host und leitet die Eingabe an den COM Port weiter. Ăber cmd oder kleine C# Anwendungen ging es bei mir, etwas auf dem Display anzuzeigen, auch ĂŒber TestTools von OPOS(Display funktioniert richtig). Ich weiĂ aber nicht wirklich, wie ich die Steuerzeichen verwende in NAV oder C#(Alles loeschen usw.) Zeilenumbruch und Line Feed habe ich in C# durch
- Code: Alles auswÀhlen
private voide brn_SendTest_Click(object sender, EventARgs e)
{
COM3.WriteLine("Test\r\n"); oder COM3.WriteLine(textBox1.Text + "\n\);
}
Die Steuerzeichen fĂŒr das Display habe ich hier: (Seite 8)
http://h10032.www1.hp.com/ctg/Manual/c05039618
Da ich eigentlich in C# niemals programiert habe und es nur hobbymĂ€Ăig gemacht, kann ich die Steuerzeichen leider nicht anwenden.
Auch mit PoS for .Net 1.14 tue ich mich schwer. Leider habe ich das PoS System nicht fĂŒr immer und kann damit nicht lange tĂŒfteln.
Danke fĂŒr die Aufmerksamkeit.