![]() |
Das Programm
Hier ist das Programm
unit KlimaNEU; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, OoMisc, AdPort, StdCtrls, jpeg, ExtCtrls, Grids; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; TabSheet4: TTabSheet; ApdComPort1: TApdComPort; Schreiben: TButton; Lesen: TButton; Comout: TMemo; ManualTemp: TEdit; ManualFeucht: TEdit; ManualZeit: TEdit; StaticText1: TStaticText; StaticText2: TStaticText; StaticText3: TStaticText; StaticText4: TStaticText; StaticText5: TStaticText; ManualTempAusgabe: TMemo; ManualFeuchtAusgabe: TMemo; ManualMitteilungen: TMemo; StaticText6: TStaticText; StaticText7: TStaticText; StaticText8: TStaticText; Image1: TImage; AutoProgramm: TComboBox; Programmplatz: TStaticText; AutoStart: TButton; AutoStop: TButton; AutoFeuchtAusgabe: TMemo; AutoTempAusgabe: TMemo; StaticText9: TStaticText; StaticText10: TStaticText; ManualStart: TButton; ManualStop: TButton; ManualReset: TButton; ProTempAusgabe: TMemo; ProFeuchtAusgabe: TMemo; StaticText11: TStaticText; StaticText12: TStaticText; StaticText13: TStaticText; ProStart: TButton; ProStop: TButton; ProGrid: TStringGrid; StaticText14: TStaticText; StaticText16: TStaticText; StaticText17: TStaticText; StaticText18: TStaticText; ProReset: TButton; ProRow: TButton; ProMitteilungen: TMemo; StaticText19: TStaticText; StaticText20: TStaticText; AutoMitteilungen: TMemo; StaticText21: TStaticText; procedure AutoProgrammChange(Sender: TObject); procedure ProStartClick(Sender: TObject); procedure ProRowClick(Sender: TObject); procedure ProResetClick(Sender: TObject); procedure ManualStartClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; const Stoer1 = 'BEDEUTUNG: Feuchte oder Temperatur außerhalb Bereich! URSACHE: Istwert Feuchte oder Temperatur über- bzw. unterhalb der Prüfgutanlagenkonfiguration. BEHEBUNG: Eingabe überprüfen und Sollwert auf Feuchte- oder Temperaturbereich einstellen!'; Stoer2 = 'BEDEUTUNG: Betriebs-Termperatur-Begrenzer! URSACHE: Grenzwert zum Schutz des Prüfgute überschritten. BEHEBUNG: Grenzwerteinstellung bzw. programmierte Sollwert-Vorgabe überprüfen.'; Stoer3 = 'BEDEUTUNG: Wassermangel Feuchtesystem! URSACHE: Im Befeuchtungssystem ist kein Wasser vorhanden oder Pumpe läuft nicht. BEHEBUNG: 1.Vorratsbehälter mit Wasser auffüllen. 2.Pumpenstörung (siehe Handbuch) beheben.'; Stoer4 = 'BEDEUTUNG: Temperatur-Begrenzer-Prüfraum! URSACHE: Temperatur-Sicherung hat ausgelöst bzw. ist zerbröchen. BEHEBUNG: Anlage ausschalten, Service-Organisation vpn Hereaus-Vötsch verständigen.'; Stoer5 = 'BEDEUTUNG: Überdruck Kompressor Vorkühlung! URSACHE: Überdruck im Kältekreisluaf. BEHEBUNG: Anlage ausschalten, Kondensator reinigen.'; Stoer6 = 'BEDEUTUNG: Vorratsbehälter Feuchtesystem füllen! URSACHE: Der Wasservorrat für die Wassernachspeisung ist erschöpft. BEHEBUNG: Vorratsbehälter mit Wasser auffüllen.'; Stoer7 = 'BEDEUTUNG: Überdruck Kompressor Tiefkühlung! URSACHE: Überdruck im Tiefkühlkreislauf. BEHEBUNG: Anlage ausschalten, Kondensator reinigen.'; Stoer8 = 'BEDEUTUNG: Vorratsbehälter Feuchtesystem füllen! URSACHE: Der Wasservorrat für die psychrometische Meßeinrichtung erschöpft. BEHEBUNG: Vorratsbehälter mit Wasser auffüllen, Anlage schaltet auf Taupunktsteuerung um.'; Stoer9 = 'BEDEUTUNG: Prüfraumventilatormotor! URSACHE: Thermoschutz des Prüfraumventilators hat ausgelöst. BEHEBUNG: Anlage ausschalten, Motor auf Leichtgängigkeit, Verschmutzung und Kühlluftversorgung überprüfen. Reinigen und evtl. Fremdkörper beseitigen.'; implementation {$R *.DFM} function ComOpen(ComStr:String):Boolean; var comfile : thandle; Begin Result := true; comfile := CreateFile(PCHAR(ComStr), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); If comfile = INVALID_HANDLE_VALUE Then Result := false; End; {procedure ComClose; Begin closehandle(comfile); End;} {procedure TForm1.lesenClick(Sender: TObject); var TimeoutBuffer : PCOMMTIMEOUTS; NumberOfBytesRead : dword; Buffer : array[0..255] of char; if ComOpen = INVALID_HANDLE_VALUE then GetMem(TimeoutBuffer, sizeof(COMMTIMEOUTS)); GetCommTimeouts(comopen, TimeoutBuffer^); TimeoutBuffer.ReadIntervalTimeout := 100; TimeoutBuffer.ReadTotalTimeoutMultiplier := 100; TimeoutBuffer.ReadTotalTimeoutConstant := 100; SetCommTimeouts(hCommFile, TimeoutBuffer^); FreeMem(TimeoutBuffer, sizeof(COMMTIMEOUTS)); FillChar(Buffer, sizeof(Buffer), #0); ReadFile(comopen, Buffer, sizeof(Buffer), NumberOfBytesRead, nil); CloseHandle(comopen); comout.caption := buffer.text; end;} procedure TForm1.AutoProgrammChange(Sender: TObject); var programmplatz : string; begin programmplatz := autoprogramm.text; automitteilungen.lines.text := programmplatz; end; procedure TForm1.ProStartClick(Sender: TObject); var daten : string; begin daten := progrid.cells[1,1]; promitteilungen.lines.Text := daten; end; procedure TForm1.ProRowClick(Sender: TObject); var rowcount : integer; begin progrid.RowCount := progrid.RowCount +1; end; procedure TForm1.ProResetClick(Sender: TObject); begin progrid.RowCount := progrid.RowCount -1; end; procedure TForm1.ManualStartClick(Sender: TObject); begin manualmitteilungen.text := '$00E'+' '+manualtemp.text+' '+manualfeucht.text+' '+'0000.0 0000.0 0000.0 0000.0 0000.0 0100000000000000<CR>'; end; end. |
Re: Das Programm
Erstens: solche Langen Codes kommen in Anhänge
Zweitens: Nimm doch wenigstens Delphi-Tags Drittens: Gehört das nicht in einen anderen Thread? :gruebel: |
Re: Das Programm
Habe ich was verpasst :?:
|
Re: Das Programm
Was soll der Thread? Und bitte, füge die [delphi]Tags ein :roll:
...:cat:... |
Re: Das Programm
|
Re: Das Programm
Dann geht es hier zu, hat ja nichts an dieser Stelle zu suchen ;-)
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz