בנין אַוטאָמאַטיאָן עהאָוסע – שאפן אַ פֿענצטער ווייכווארג אָוווערלייז און מנהג אַלגערידאַמז

היים אַוטאָמאַטיאָן עהאָוסע מיט פּיסי ווייכווארג אַלאַוז איר צו שאַפֿן אָוווערלייז פֿאַר בנין אָטאַמיישאַן סיסטעם .
דאס אַלאַוז איר צו שאַפֿן דיין אייגן , יחיד אַלגערידאַמז , ביסט נישט ימפּלאַמענטאַד אין פירמוואַרע אָדער שאָפער ווייכווארג וואָס קאָנטראָלס די סיריאַל היים אַוטאָמאַטיאָן עהאָוסע .
צו דעם סוף , מיר צושטעלן ניצערס מיט די ווייכווארג מקור קאָודז (אין דעלפי 5) . זיי קענען זייַן צונויפגעשטעלט מיט נייַער ווערסיעס פון דעלפי אָדער געניצט פֿאַר אנדערע פּראָגראַממינג שפּראַכן .
מיר קאַנשאַסלי אויסדערוויילט דעם פאַרעלטערט ווערסיעס ווי זיי זענען שוין בנימצא פֿאַר פֿרייַ פֿאַר amateur פּראָגראַם .
זיי אַרבעטן נאָר ווי רילייאַבלי אויף Windows XP , וויסטאַ , Windows 7 ביידע 32 און 64 ביסל .
דעם סאָפטווער איז גערופן עהאָוסעלאָגאַנאַליזער און די לאָגס מוסטער פּראָגראַמען וואָס לייענען טעקסט טעקעס אַרויף צו טאָג .
עס קענען זייַן געראטן און מאָניטאָרעד דורך פּראָגראַמען קיללוודט . עקסע .
שליסל פֿעיִקייטן פון די אַפּלאַקיישאַן:

  • לייענען אויס די סטאַטוס און נעמען פון אַלע די דריווערס
  • לייענען סטאַטוס און אַרייַן די נעמען פון אַלע דריווערס
  • לייענען די מעזשערמאַנץ און די נעמען פון אַלע די דריווערס מעסטן ינפּוץ
  • מאַסע אַלע די דאַטן צו די ינערלעך פּראָגראַם זכּרון , וואָס קענען זייַן ווייַטער פּראַסעסט דורך אַ אַפּלאַקיישאַן

די אַפּלאַקיישאַן ניצט די סטאַטוס פון באשאפן טעקעס צו טעקסט טעקעס אין אַ וועגווייַזער ‘ לאָגס / סטאַטוס / ‘ געשפּרייט ‘ . מאַצעוו ‘ .
דער טעקע איז לייענען בלויז אין די געשעעניש פון ענדערונגען אין דער אַפּלאַקיישאַן עהאָוסע . עקסע .

דאַטאַ קאַנטראָולערז זענען לאָודיד אין די פאלגענדע ינסטאַנסיז רעקאָרדס ” עהאָוסע_רמ_עמ_הם ” ליסטעד אין די מענגע רם .

אין דערצו , דאַטן זענען געהאלטן העאַטמאַנאַגער די פאלגענדע וועריאַבאַלז:
באָנפירע_סטאַטוס: שטריקל ; / / סטאַטוס פון באַנפייער פֿאַר העאַטמאַנאַגער – סטאַטוס קאַמין באַהיצונג טאַפליע עהאָוסע . עקסע
באָילער_סטאַטוס: שטריקל ; / / סטאַטוס פון קעסל פֿאַר הם – סטאַטוס פון די קעסל באַהיצונג טאַפליע עהאָוסע . עקסע
סאָלאַר_סטאַטוס: שטריקל ; / / סטאַטוס פון זונ – סיסטעם – סטאַטוס פון זונ – באַהיצונג טאַפליע עהאָוסע . עקסע
רעקופּעראַטאָר_סטאַטוס: שטריקל ; / / סטאַטוס פון ריקופּעריישאַן , ווענטאַליישאַן , לופט באַהיצונג – סטאַטוס פון באַהיצונג ווענטאַליישאַן און היץ אָפּזוך
האַדק: מענגע [0 . . 15] פון טאָפּל ; / / היץ טעמפּעראַטורעס פאַרוואַלטער – טעמפּעראַטור מעזשערמאַנץ העאַטמאַנאַגער
/ / היץ פאַרוואַלטער ינדעקסיז פֿאַר דירעקט צוטריט פון האַדק מענגע – קעסיידערדיק טעמפּעראַטור ינדיסעס פֿאַר דירעקט לייענען פון טעמפּעראַטור העאַטמאַנאַגער
קאָנסט המ_גווק = 3 ; / / גווק – ערד היץ עקסטשאַנגער
המ_קאָמ1 = 4 ; / / קאַמין קאָוט 1 – באָנפירע וואַסער רעקל 1
המ_קאָמקאָנוו = 5 ; / / קאַמין קאָנוועקסידזשנע – קאַנוועקשאַן באַנפייער
המ_קאָמ2 = 6 ; / / פייער פלאַך 2 – באַנפייער וואַסער רעקל 2 (באַקאַפּ)
המ_טוועוון = 7 ; / / אינערלעכער צימער טעמפּעראַטור – ינערלעך צימער טעמפּעראַטור
המ_סאָלאַר = 9 ; / / קאַלעקטער זון – זונ – סיסטעם
המ_זעוונפּן = 8 ; / / עקסטערנאַל טעמפּעראַטור צפון – פונדרויסנדיק טעמפּעראַטור צפון
המ_זעוונפּד = 1 ; / / עקסטערנאַל טעמפּעראַטור פון די דרום – פונדרויסנדיק טעמפּעראַטור דרום
המ_קאָק = 10 ; / / טעמפּעראַטורע קעסל – קעסל טעמפּעראַטור
המ_באַנדאָל = 11 ; / / גלויבנס / הייס וואַסער טאַנק אַראָפּ – הייס וואַטטער דנאָ באַפער
המ_רעקין = 12 ; / / ריין לופט רעקופּעראַטאָר אַרייַנשרייַב – ריקופּעריישאַן קלאָר לופט אַרייַנשרייַב
המ_רעקאָוט = 13 ; / / אָוטפּוט רעקופּעראַטאָר היים – העאַטען ריקופּעריישאַן פריש קלאַפּ לופט צו אָרט – טעמפּעראַטור
המ_נאַג = 14 ; / / טעמפּעראַטורע קאַנטראָולד דרייַ – וועג וואַלוו פֿאַר באַהיצונג און פֿאַר ראַדיאַטאָרס – טעמפּעראַטור נאָך דרייַ וועגן קאַטאָף פֿאַר וואַסער כיטער אָדער אנדערע באַהיצונג סיסטעם
המ_רעקוויק = 15 ; / / היים רעקופּעראַטאָר עקסטראַקט גראָב – ריקופּעריישאַן פון שטוב גראָב ויסמאַטערן טעמפּ
המ_באַנגאָראַ = 2 ; / / העאַטינג / הייס וואַסער טאַנק גאָראַ – הייס וואַסער באַפער שפּיץ
המ_באַנסראָ = 0 ; / / העאַטינג / הייס וואַסער סטאָרידזש טאַנק אַ מיטל פון – מיטן הייס וואַסער באַפער
וואַר האַדקנאַמעס: מענגע [0 . . 15] פון שטריקל ; / / די נעמען פון די סענסאָרס (מעסטן ינפּוץ) העאַטמאַנאַגעראַ
באַסיק פאַנגקשאַנז עהאָוסעלאָגאַנאַליזער:
פּראָצעדור יניט_העאַט_טעמפּעראַטורע_נאַמעס ; / / יניטיאַליזע און / אָדער טעמפּעראַטור סענסאָרס לייענען די נעמען פון הם
פּראָצעדור לאָאַדנאַמעס_רם ; / / לאָוד ראָאָממאַנאַגערăłוו נעמען (עהאָוסע 1)
פּראָצעדור רעאַדעטהערנעטדעווס ; / / לייענט די עטהערנעט שאָפער נעמען (עהאָוסע 2)
געט_ינדעקס_רם פונקציאָנירן (Str: שטריקל): ינטעגער ; / / רעטורנס דער אינדעקס פון די טיש מיט ראָאָממאַנאַגעראַמי זוכן דורך טעקע נאָמען סטאַטוס
פונקציאָנירן גיגאבייט (טשר: טשאַר): בוליאַן ; / / רעטורנס אַ בוליאַן ווערט פֿאַר די לייענען סטאַטוס
אַדק_הם פּראָצעדור (Str: שטריקל ; אינדעקס: ינטעגער) ; / / קאָנווערץ די שטריקל מיט רעקאָרדעד טעמפּעראַטורעס פון די לייענען סטאַטוס העאַטמאַנאַגעראַ
אַדק_רם פּראָצעדור (Str: שטריקל ; אינדעקס: ינטעגער) ; / / קאָנווערץ שטריקל פון אַנאַלאָג מעזשערמאַנץ ווען לייענען די סטאַטוס ראָאָממאַנאַגערăłוו
גבס פונקציאָנירן (ב: בוליאַן): סטרינג ; / / שרייב בוליאַן אין טעקסט פאָרעם (0 , 1)
רמדעוויסעינדעקסבינאַמע פונקציאָנירן (Str: שטריקל): ינטעגער ; / / רעטורנס דער אינדעקס פון די טיש מיט ראָאָממאַנאַגעראַמי זוכן דורך נאָמען שאָפער
רמגעטאָוטפּוצטאַטענר פונקציאָנירן (אינדעקס: ינטעגער ; אָוטפּוטנר: ינטעגער): בוליאַן ; / / צוריק די רעזולטאַט שטאַט רם [אינדעקס] און דער רעזולטאַט נומער אָוטפּוטנר
רמגעטאָוטפּוצטאַטע פונקציאָנירן (אינדעקס: ינטעגער ; אָוטפּוטנאַמע: שטריקל): בוליאַן ; / / רעטורנס דער רעזולטאַט שטאַט רם [אינדעקס] און גערופן אויס אָוטפּוטנאַמע
רמגעטינפּוצטאַטענר פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנר: ינטעגער): בוליאַן ; / / רעטורנס די סטאַטוס פון דעם אַרייַנשרייַב רם [אינדעקס] און די נומער פון פּאָזיציע ינפּוטנר
רמגעטינפּוצטאַטע פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנאַמע: שטריקל): בוליאַן ; / / רעטורנס די סטאַטוס פון דעם אַרייַנשרייַב רם [אינדעקס] און די נאָמען פון די פּאָזיציע ינפּוטנאַמע
רמגעטטעמפּנר פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנר: ינטעגער): טאָפּל ; / / רעטורנס די רם טעמפּעראַטור [אינדעקס] און די נומער פון פּאָזיציע ינפּוטנר
רמגעטטעמפּ פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנאַמע: שטריקל): טאָפּל ; / / רעטורנס די רם טעמפּעראַטור [אינדעקס] און די נאָמען פון די פּאָזיציע ינפּוטנאַמע
רמגעטינוופּערסענט פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנאַמע: שטריקל): טאָפּל ; / / רעטורנס אַ פּראָצענט מעאַסורעמענט פון פאַרקערט 100 % – X רם [אינדעקס] און די נאָמען פון די פּאָזיציע ינפּוטנאַמע (אין באַציונג צו די צושטעלן וואָולטידזש קאָנטראָללער)
רמגעטינוופּערסענטנר פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנר: ינטעגער): טאָפּל ; / / רעטורנס אַ פּראָצענט מעאַסורעמענט פון פאַרקערט 100 % – X רם [אינדעקס] און די נומער פון פּאָזיציע ינפּוטנר (אין באַציונג צו די צושטעלן וואָולטידזש קאָנטראָללער)
רמגעטפּערסענט פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנאַמע: שטריקל): טאָפּל ; / / רעטורנס אַ פּראָצענט מעאַסורעמענט פון רם [אינדעקס] און די נאָמען פון די פּאָזיציע ינפּוטנאַמע (אין באַציונג צו די צושטעלן וואָולטידזש קאָנטראָללער)
רמגעטפּערסענטנר פונקציאָנירן (אינדעקס: ינטעגער ; ינפּוטנר: ינטעגער): טאָפּל ; / / רעטורנס אַ פּראָצענט מעאַסורעמענט פון פאַרקערט 100 % – X רם [אינדעקס] און די נאָמען פון די פּאָזיציע ינפּוטנר (אין באַציונג צו די צושטעלן וואָולטידזש קאָנטראָללער)
רמגעטדעוויסעאָוטפּוצטאַטע פונקציאָנירן (דעוונאַמע: שטריקל ; אָוטפּוטנאַמע: שטריקל): בוליאַן ; / / רעטורנס די שטאַט פון די רעזולטאַט שאָפער גערופן דעוונאַמע און גערופן אויס אָוטפּוטנאַמע
רמגעטדעוויסעינפּוצטאַטע פונקציאָנירן (דעוונאַמע: שטריקל ; ינפּוטנאַמע: שטריקל): בוליאַן ; / / רעטורנס די סטאַטוס פון דעם שאָפער אַרייַנשרייַב די נאָמען און די נאָמען פון די פּאָזיציע דעוונאַמע ינפּוטנאַמע
המגעטטעמפּ פונקציאָנירן (ינפּוטנאַמע: שטריקל): טאָפּל ; / / צוריק טעמפּעראַטור פון די מעסטן אַרייַנשרייַב גערופן פֿאַר העאַטמאַנאַגעראַ ינפּוטנאַמע
המגעטטעמפּנר פונקציאָנירן (ינפּוטנר: ינטעגער): טאָפּל ; / / צוריק טעמפּעראַטור פון די מעסטן אַרייַנשרייַב נומער פֿאַר העאַטמאַנאַגעראַ ינפּוטנר (1 . . 16)
טשק_ינט פונקציאָנירן (סט: שטריקל): ינטעגער ; / / סאַפע צו בייַטן אַ שטריקל צו אַ ינטעגער
פּראָצעדור ופּדאַטע_סטאַטוס ; / / אַפּדייט די סטאַטוס פון אַלע די דריווערס אין די טיש (מוזן זייַן לויפן פּיריאַדיקלי)
פּראָצעדור טעסט_סאַווע ; / / טעסט פּראָצעדור צו שרייַבן די רעזולטאַטן צו אַ טעקסט טעקע פֿאַר גרינג
יניטיאַליזע דער שאָפער און אַלע די נעמען זענען געמאכט אַמאָל די אַפּלאַקיישאַן איז אנגעהויבן (פאָרמקרעאַטע)
פּראָצעדור טפאָרמ1 . פאָרמקרעאַטע (סענדער: טאָבדזשעקט) ;
אָנהייבן
דרך: = געטקוררענטדיר () ; / / באַקומען די קראַנט דרך פון די פּראָגראַם מוזן זייַן אין די וועגווייַזער % עהאָוסע_דיר % \ בין \
דרך: = סטרינגרעפּלאַסע (דרך , ‘ \ בין ‘ , ‘ \ ‘ , [רפיגנאָרעקאַסע]) ; / / באַקומען דרך פון אַפּלאַקיישאַן עהאָוסע – שטעלט די אַפּלאַקיישאַן דרך עהאָוסע
לאָאַדנאַמעס_רם ; / / לאָוד קאָנטראָללער נעמען עהאָוסע1 – לאָודז די דריווערס נאָמען עהאָוסע 1
יניט_העאַט_טעמפּעראַטורע_נאַמעס ; / / לאָוד סענסאָרס העאַטמאַנאַגעראַ נאָמען
רעאַדעטהערנעטדעווס ; / / לאָוד קאַנטראָולערז עטהערנעט עהאָוסע נעמען – לייענען מיטל נעמען עהאָוסע 2
טימער1 . מעהאַלעך: = 3000 ; / / באַשטעטיק סייקליק אַרבעט מעהאַלעך אין מיליסעקאַנדז – שטעלט די צייַט צו אָנהייבן קאָנטראָלירונג סייקליק דאַטן
טימער1 . ענייבאַלד: = אמת ; / / אָנהייב אָטאַמאַטיק טאַסקס (סטאַטוס דערהייַנטיקן – כולל רעגולער קאָנטראָלירונג פון דאַטן
ופּדאַטע_סטאַטוס ; / / לייענט די ערשטער סטאַטוס
עק ;
סייקליק דאַטן קאָנטראָלירונג איז געטאן דורך די פֿונקציע טימער1 (טימער1טימער) לויפט אין אַ מעהאַלעך פון צייַט שטעלן אין דעם פּאַראַמעטער טימער1 . מעהאַלעך (אין מיליסעקאַנדז) .
פּראָצעדור טפאָרמ1 . טימער1טימער (סענדער: טאָבדזשעקט) ;
וואַר טף: טעקסטפילע ;
אָנהייבן
ופּדאַטע_סטאַטוס ; / / קאָנווערץ די סטאַטוס פון דעם שאָפער
טעסט_סאַווע ; / / פֿאַר פּרובירן שרייבט אַלע רעזולטאַטן צו אַ טעקסט טעקע
פּרובירן / / שאַפֿן אַ מאַרקער טעקע פֿאַר די אַפּלאַקיישאַן קיללעקסעק . עקסע וואָס קענען ” וואַך ” אַפּלאַקיישאַן איידער קראַך
אַססיגנפילע (טף , דרך + ‘ לאָגס \ קלאָץ – אַנאַליזער . סטפּ ‘ ) ;
/ / געבנ צו וויסן וודט אַז אַפּלאַקיישאַן ארבעטן ריכטיק ניצן סטאַמפּפילע ” קלאָץ \ קלאָץ – אַנאַליזער . סטפּ ”
רירייט (טף) ;
ווריטעלן (טף , ‘ 1 ‘ ) ;
לעסאָף ;
קלאָסעפילע (טף) ;
עק ;
עק ;