AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Terminal Software?!

Offene Frage von "NewTimeLive"
Ein Thema von NewTimeLive · begonnen am 15. Jul 2005 · letzter Beitrag vom 18. Jul 2005
Antwort Antwort
NewTimeLive

Registriert seit: 31. Jan 2005
Ort: Namborn
29 Beiträge
 
#1

Terminal Software?!

  Alt 15. Jul 2005, 12:33
Hi ihrzz,
hab nen Problem mit dem Verständnis und der Ausführung meines Programms. Ich Kopiere mal den Code hier her sagt mal bitte was genau da falsch ist.

Das ganze ist eine Terminal Software die Ausgabe soll in einem Memo sein.

Kennt sich damit jemand aus?

Delphi-Quellcode:
unit DataMain;

interface

uses
  SysUtils, Classes, AdWnPort, OoMisc, AdPort, Dialogs;

type
  TDataModMain = class(TDataModule)
    ApdComPort: TApdComPort;
    ApdWinsockPort: TApdWinsockPort;
    procedure ApdComPortTriggerAvail(CP: TObject; Count: Word);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    function DoCommand(CMD : string): boolean;
  end;

var
  DataModMain: TDataModMain;

implementation

uses Types, Controls, FrmMain;



{$R *.dfm}

procedure TDataModMain.ApdComPortTriggerAvail(CP: TObject; Count: Word);
var I : Integer;
    c : Char;
    Zeile : array[0..255] of Char;
begin
  FillChar(Zeile,SizeOf(Zeile),#0);
  for i := 1 to Count do begin
   Zeile := ApdProductName;

    c := ApdComPort.GetChar;
    Case c of

      #10, #13 : begin
                   FormMain.Memo.Lines.Add(StrPas(Zeile));
                   FillChar(Zeile,SizeOf(Zeile),#0);
                 end;
      else StrCat(Zeile, PChar(c));
    end;
  end;
end;




function TDataModMain.DoCommand(CMD: string): boolean;
begin
  //
  ApdComPort.PutString(CMD);
end;

end.
Delphi-Quellcode:
unit FrmMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,
  DataMain,
  ExtCtrls, OoMisc, ADTrmEmu, StdCtrls;

type
  TFormMain = class(TForm)
    Panel1: TPanel;
    ButtonHelp: TButton;
    Memo: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure ButtonHelpClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FormMain: TFormMain;

implementation

uses AdPort;


{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  DataModMain := TDataModMain.Create(Self);
end;

procedure TFormMain.ButtonHelpClick(Sender: TObject);
begin
  DataModMain.DoCommand('H');
end;

end.
MfG

Sascha
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: Terminal Software?!

  Alt 15. Jul 2005, 12:50
Es wäre unheinmich hilfreich, wenn du und sagen würdest, was für Fehlermeldungen du bekommst bzw. wo es klemmt ...

Bein Überfliegen des Codes ist mit aufgefallen das du DataModMain weder in Private noch in Public deklariert hast. Eventuell hilft dir das ja schon weiter ...

Delphi-Quellcode:
  private
    { Private-Deklarationen } 
    DataModMain:TDataModMain; // <----------------- wäre echt sinnvoll ....
  public
    { Public-Deklarationen } 
  end;

var
  FormMain: TFormMain;

implementation

uses AdPort;


{$R *.dfm} 

procedure TFormMain.FormCreate(Sender: TObject);
begin
  DataModMain := TDataModMain.Create(Self);
end;

procedure TFormMain.ButtonHelpClick(Sender: TObject);
begin
  DataModMain.DoCommand('H');
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Terminal Software?!

  Alt 15. Jul 2005, 12:50
Zitat von NewTimeLive:
Ich Kopiere mal den Code hier her sagt mal bitte was genau da falsch ist.
Das ist jetzt aber ein Witz oder?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: Terminal Software?!

  Alt 15. Jul 2005, 13:32
Zitat von Luckie:
Zitat von NewTimeLive:
Ich Kopiere mal den Code hier her sagt mal bitte was genau da falsch ist.
Das ist jetzt aber ein Witz oder?
Und damit auch Neulinge es verstehen, der Hinweis auf den Verhaltenskodex
  Mit Zitat antworten Zitat
NewTimeLive

Registriert seit: 31. Jan 2005
Ort: Namborn
29 Beiträge
 
#5

Re: Terminal Software?!

  Alt 18. Jul 2005, 14:20
Naja das is halt das Problem eine wikliche Fehlermedung bekomme ich halt nicht...

er zeigt halt einfach nichts in dem Memo feld an... und daher wusste ich auch nicht was ich als Fehlermedung hier her schreiben sollte.

Er soll einfach das was das gerät zurückgibt im Memo feld anzeigen aber er macht es nicht.

MfG

Sascha
  Mit Zitat antworten Zitat
NewTimeLive

Registriert seit: 31. Jan 2005
Ort: Namborn
29 Beiträge
 
#6

Re: Terminal Software?!

  Alt 18. Jul 2005, 14:33
Da ich ja doch ein fluckses Burschi bin hab ich es dann doch noch geschaft das ganze zum laufen zu bekommen... ich hab euch mal den Quelltext darunter Kopiert und die Dateien Angehängt um zu zeigen wat ich da machen wollte (Einfache Kommunikation mit einem Gerät über eine Schnittstelle *g*)

Die Main Form
Delphi-Quellcode:
unit FrmMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,
  DataMain,
  ExtCtrls, OoMisc, ADTrmEmu, StdCtrls, Buttons;

type
  TFormMain = class(TForm)
    Memo: TMemo;
    Panel2: TPanel;
    Edit1: TEdit;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  FormMain: TFormMain;

implementation

uses AdPort;


{$R *.dfm}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  DataModMain := TDataModMain.Create(Self);
end;

procedure TFormMain.Edit1Change(Sender: TObject);
var CMD : String;
begin
  CMD := Edit1.Text;
  //DataModMain.DoCommand(CMD);
  Edit1.Text := ''
end;

procedure TFormMain.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
// Zeichen an COMPort senden
  DataModMain.ApdComPort.PutChar(Char(Key));
end;

end.

[b]Das DataMod
Delphi-Quellcode:
unit DataMain;

interface

uses
  SysUtils, Classes, AdWnPort, OoMisc, AdPort, Dialogs;

type
  TDataModMain = class(TDataModule)
    ApdComPort: TApdComPort;
    ApdWinsockPort: TApdWinsockPort;
    procedure ApdComPortTriggerAvail(CP: TObject; Count: Word);
    procedure ApdComPortTriggerData(CP: TObject; TriggerHandle: Word);
    procedure DataModuleCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    Zeile : string;
    CRTrig : word;
  public
    { Public-Deklarationen }
    function DoCommand(CMD : string): boolean;
  end;

var
  DataModMain: TDataModMain;

implementation

uses Types, Controls, FrmMain;


{$R *.dfm}

procedure TDataModMain.DataModuleCreate(Sender: TObject);
begin
  ApdComPort.Open := true;
  CRTrig := ApdComPort.AddDataTrigger(#13, False);
end;

procedure TDataModMain.ApdComPortTriggerData(CP: TObject; TriggerHandle: Word);
begin
  if TriggerHandle = CRTrig then begin
    FormMain.Memo.Lines.Add(Zeile);
    Zeile := '';
    // ApdComPort.RemoveTrigger(TriggerHandle);
  end;
end;

procedure TDataModMain.ApdComPortTriggerAvail(CP: TObject; Count: Word);
var i : Integer;
    c : Char;
begin
  for i := 1 to Count do begin
    c := ApdComPort.GetChar;
    case c of
      #10 :;
      #13 :;
    else Zeile := Zeile + c;
    end;
  end;
end;

function TDataModMain.DoCommand(CMD: string): boolean;
begin
  //
  ApdComPort.PutString(CMD);
end;


end.
Vielleciht können andre Leute ja zum späteren Zeitpunkt noch was damit anfangen.

MfG

Sascha
Angehängte Dateien
Dateityp: zip termnal_client_187.zip (6,2 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz