Source file: /~heha/messtech/ad_da.zip/PAS/AD_DA.PAS

Uses Crt,Graph,Windows,Maus,Konstant,ADDAUnit,Diagramm,ADDAModul;{
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º T E C H N I S C H E   U N I V E R S I T Ž T   C H E M N I T Z          º
º                                                                        º
º Programm zur Ansteuerung des AD/DA-Wandlermoduls mit Einchip-          º
º rechner 68HC11                                                         º
º                                                                        º
º HAUPTPROGRAMM                                                          º
º                                                                        º
º Programmierer:    Torsten Levin                                        º
º                   03 AET 89                                            º
º                   TU Chemnitz-Zwickau                                  º
º                                                                        º
º Chemnitz, Januar-April 1993                                            º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º Zugeh”rige Dateien:                                                    º
º                                                                        º
º    AD_DA.PAS      Hauptprogramm                                        º
º  WINDOWS.PAS      Unit, beinhaltet die gesamte Benutzeroberfl„che      º
º ADDAUNIT.PAS      Unit, beinhaltet programmspezifische Funktionen      º
º ADDAMODU.PAS      Unit, beinhaltet AD/DA-Modul-Funktionen              º
º DIAGRAMM.PAS      Unit, beinhaltet alle Funktionen zum Kurven- und     º
º                         Diagramm zeichnen                              º
º KONSTANT.PAS      Unit, beinhaltet viele Voreinstellungen und Verein-  º
º                         barungen                                       º
º     MAUS.PAS      Unit, beinhaltet alle Mausroutienen                  º
º    PRINT.PAS      Unit, beinhaltet die Druckroutienen                  º
º  LW_TEST.PAS      Unit, beinhaltet Test, welche Laufwerke existieren   º
º      BSS.PAS      Unit, beinhaltet den Bildschirmschoner               º
º    IMAGE.PAS      Unit, beinhaltet die Laderoutienen f�r Bilder        º
º        *.REC      Programmdateien f�r das AD/DA-Wandlermodul           º
º        *.PIC      Bilddateien, erstellt mit dem IMAGE-EDITOR (c)       º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
}
{$M 10240,0,230400}         { 10 KByte Stack, 225 KByte Heap }
label vorn;

Var
    Name: String;
    KanalNum    : Integer;
    SStellWord  : Word;
 f: File;

{---Hauptprogramm----------------------------------------------------}
Begin
  { Zeichnen des Hauptfensters }
 InitWerte;                   { Initialisierung von Standardwerten }
 ScreenInit;
 InitModul;                   { Initialisierung des AD/DA-Moduls }
 Repeat			{ Pull-Down-Men� zeichnen und Abfrage }
vorn:
  case MenuInput(Mainmenu) of
   $101: { F Laden einer Kurve } Begin
    if Dateifenster('*.WAV','Kurve laden',True,150,120,Name)
    and LoadDatei2(Name)
    Then MaleKurve;
   End;
   $102: { F Sichern einer Kurve } Begin
    for KanalNum:=1 to 4 do if KanalUsed[KanalNum-1] then break;
    case KanalUsage of
     0: begin
      Fehler(200,100,false,'Keine Kurve ist','aktiv und damit','speicherbar.','');
      goto vorn;
     end;
     1: ;
     else Repeat
      if not Auswahl(200,80,'Sichern einer Kurve',Kanaldaten,KanalNum)
      then goto vorn;
      If KanalUsed[KanalNum-1] Then break;
      Fehler(200,100,False,'Diese Kurve ist','zur Zeit inaktiv.',
	'Eine Speicherung','w„re sinnlos.');
     Until false;
    end{case};
    if Dateifenster('*.WAV','Kurve sichern',False,150,120,Name)
    and SaveDatei(Name,Kanalnum-1) then;
   End;
   $103: { F Drucken }  Begin
    DruckeBildschirm;
   End;
   $104: { F DOS-Shell } Begin
    Dosshell('AD/DA-Wandlermodul Version 3.21');
    ScreenInit;
   End;
   $105: { F šber... }  Copyright('AD/DA-Wandlermodul','3.21','2003',
     'TU Chemnitz (h#s)');
   $106: { F Programm-Ende }
   if Sicherheitsfenster(200,150,'Wollen Sie das',
     'Programm wirklich','verlassen?') then break;
   $201: { ADU Betriebsart } Begin
    if Betriebsart Then OutStatusfenster;
   End;
   $202: { ADU Start } ADUmsetzung;
   $203: { ADU Direktbetrieb } DirektAD;
   $301: { DAU Start } Begin
    for KanalNum:=1 to 4 do if KanalUsed[KanalNum-1] then break;
    case KanalUsage of
     0: begin
      Fehler(200,100,false,'Keine Kurve ist','aktiv und damit','ausgebbar.','');
      goto vorn;
     end;
     1: ;
     else Repeat
      if not Auswahl(200,80,'DA-Umsetzung einer Kurve',Kanaldaten,KanalNum)
      then goto vorn;
      If KanalUsed[KanalNum-1] Then break;
      Fehler(200,100,False,'Diese Kurve ist','zur Zeit inaktiv.',
	'Eine Umsetzung','w„re sinnlos.');
     Until false;
    end{case};
    DAUmsetzung(Kanalnum-1);
   End;
   $302: { DAU Direktbetrieb } DirektDA;
   $401: { HW St�tzstellen }
   if FreiAuswahl(150,70,'St�tzstellenzahl',True,Daten.SStellen)
   and SStellenEinstellen(Round(Daten.SStellen))
   then OutstatusFenster;
   $402: { HW Umsetzrate }
   if FreiAuswahl(150,100,'Umsetzrate',False,Daten.Urate)
   and UrateEinstellen(Daten.Urate)
   Then Begin
    OutstatusFenster;
    MaleKurve;
    OutXachse;
   End;
   $403: { HW Modul initialisieren } InitModul;
   $501: { BD Datendarstellung } Begin
    if Auswahl(200,100,'Kurvendarstellung',BildDaten,Daten.BildDatennr)
    Then Begin
     MaleKurve;
     OutXAchse;
    End;
   End;
   $502: { BD Skalierung } YSkalierung;
   $503: { BD Y-Zoom } XZoom;
   $504: { BD Kanal L”schen } Begin
    KanalNum:=1;
    if not Auswahl(200,80,'L”schen einer Kurve',KanaldatenA,KanalNum)
    then goto vorn;
    case KanalNum of
     1..4: If KanalUsed[KanalNum-1]
     and Sicherheitsfenster(200,150,'Wollen Sie die',
       'Kurve '+Chr(Kanalnum+47)+' wirklich','l”schen?')
     Then Begin
      KanalUsed[KanalNum-1]:=False;
      MaleKurve;
      OutXAchse;
     End;
     5: If Sicherheitsfenster(200,150,'Sollen wirklich',
       'alle Kurven ge-','l”scht werden?') Then Begin
      FillChar(KanalUsed,sizeof(KanalUsed),false);
      MaleKurve;
      OutXAchse;
     End;
    End;
   End;
   $601: { O Farbwahl } If Farbwahl(150,100) Then ScreenInit;
   $602: { O BSS } BSSMenue;
   $603: { O Optionen Sichern } Begin
    status(250,100,'Die Einstellungen','werden in der','Datei AD_DA.INI','gesichert.');
    assign(f,'AD_DA.INI');
    {$I-}
    rewrite(f,1);
    If Dateifehler(200,150,ioresult) Then Begin
     BlockWrite(f,Daten,sizeof(daten));
     close(f);
      {$I+}
     If not Dateifehler(200,150,ioresult) Then erase(f);
    End;
    CloseStatus;
   End;
  end;
 Until false;
 Closegraph;    { Programmende }
 TextColor(7);
 TextBackground(0);
 ClrScr;
End.
Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded