ALGORITHMEN - Teil XXIII: Wichtig ist was hinten rauskommt ...

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • Abt. Programm ´Plotgrid´
      =================
      Manchmal möchte man alte Plotter wieder in Betrieb nehmen. Dann braucht man auch Beschriftungen. Aus Nostalgie-Gründen habe ich zwei rudimentäre Programme gebaut. Das erste heißt Plotgrid und erlaubt es, per Maus in einem 5x7-Zeichengitter mittels Liniensegmenten eigene Zeichen zu definieren, und den entstehenden Punktcode in der Zwischenablage abzulegen. Das Ergebnis kann man dann im zweiten Programm "ABC-Plot" beim entsprechenden Zeichencode einbauen und damit eigene Symbole, Zeichen und Buchstaben plotten.

      Bedienung:
      ------------
      Der 1. Mausklick wird erfasst, aber noch keine Linie sichtbar. Ab dem 2. Mausklick wird zur gerasterten Mausposition eine (im Beispiel rote) Linie geplottet. Jeder wietere Mausklick zeichnet ein weiteres Liniensegment. Will man den Liinienzug unterbrechen und woanders neu beginnen: Rechte Maustaste. Dann geht´s wie beim 1. Mausklick weiter.
      Verhunzte Zeichen löschen und neu beginnen geschieht mit der ESC-Taste. Durch Programmwechsel kann man den in der Zwischenablage stehenden Code dann in das ABC-Plot-Programm einbauen.

      Quellcode

      1. WindowTitle "Plotgrid"
      2. WindowStyle 24
      3. Window 0,0-%maxx,%maxy
      4. var xr&=width(%hwnd)/16
      5. var yr&=height(%hwnd)/9
      6. var lastx&=0:var lasty&=0
      7. var drw&=0
      8. var mou&=0
      9. clearclip
      10. rept:
      11. cls
      12. font 2
      13. drw&=0
      14. locate 2,2
      15. usepen 0,1,0
      16. whileloop 1,5
      17. line xr&*&Loop,yr& - xr&*&Loop,yr&*7
      18. endwhile
      19. whileloop 1,7
      20. line xr&,yr&*&Loop - xr&*5,yr&*&Loop
      21. endwhile
      22. repeat
      23. waitinput 333
      24. mou&=%mousekey
      25. if mou&=1
      26. lastx&=int(%mousex/xr&+.5):lasty&=int(%mousey/yr&+.5)
      27. print lastx&;lasty&;" ";
      28. putclip str$(lastx&)+str$(lasty&)
      29. usepen 0,5,rgb(255,0,0)
      30. if drw&=1
      31. lineto xr&*int(%mousex/xr&+.5),yr&*int(%mousey/yr& +.5)
      32. else
      33. moveto xr&*int(%mousex/xr&+.5),yr&*int(%mousey/yr& +.5)
      34. drw&=1
      35. endif
      36. elseif mou&=2
      37. locate %csrlin,%pos-1
      38. print "|";
      39. putclip " "
      40. drw&=0
      41. endif
      42. until %key=27
      43. clearclip
      44. goto "rept"
      Alles anzeigen
    • Abt. Programm ABC-Plotter (Early Alpha-Version)
      ================================
      Ein Zeichen-Plotprogramm quasi "zu Fuß" zu programmieren, und dabei nicht auf Windows-Schriften zurückzugreifen, ist gar nicht so einfach. Sonderzeichen müssen z.B. ausgefiltert werden, Verbundzeichen wie (C) oder (R) müssen erkannt und ersetzt werden etc. etc. Ein erster Versuch, noch ohne Farb- oder Größenänderungen und einem bloß rudimentären Zeichensatz, steht hier für eigene Experimente zur Verfügung. Weiterentwicklungen sind willkommen.
      Gruss


      P.S.: Schirm löschen geschieht durch Eingabe von CLS. Weitere solche Sonderfunktionen sind geplant.

      Quellcode

      1. WindowTitle "ABC-PLOTTER"
      2. '(CL) Copyleft 2019-11 by P.Specht, Vienna/EU
      3. WindowStyle 24:Window 0,0-%maxx,%maxy-40:font 2
      4. Goto "INIT"
      5. BACK:
      6. ' Plotinfo-Integrität testen:
      7. pl$[]=explode(plt$,"\n")
      8. case sizeof(pl$[])<>256:print "Fehler: Zeichenzahl <> 256"
      9. whileloop 0,255
      10. if left$(pl$[&Loop],1)<>chr$(&loop)
      11. print "Fehler bei Zeichen ";&Loop,pl$[&Loop]
      12. waitinput
      13. endif
      14. endwhile
      15. GOTO "WEITER"
      16. '<<< Zeile 22
      17. INIT:
      18. Declare plt$,pl$[]
      19. plt$=chr$(0)+":\n"+chr$(1)+":\n"+chr$(2)+":\n"+chr$(3)+":\n"+chr$(4)+":\n"+\
      20. chr$(5)+":\n"+chr$(6)+":\n"+chr$(7)+":\n"+chr$(8)+":\n"+chr$(9)+":\n"+\
      21. chr$(10)+":\n"+chr$(11)+":\n"+chr$(12)+":\n"+chr$(13)+":\n"+chr$(14)+":\n"+\
      22. chr$(15)+":\n"+chr$(16)+":\n"+chr$(17)+":\n"+chr$(18)+":\n"+chr$(19)+":\n"+\
      23. chr$(20)+":\n"+chr$(21)+":\n"+chr$(22)+":\n"+chr$(23)+":\n"+chr$(24)+":\n"+\
      24. chr$(25)+":\n"+chr$(26)+":\n"+chr$(27)+":\n"+chr$(28)+":\n"+chr$(29)+":\n"+\
      25. chr$(30)+":\n"+chr$(31)+":\n"+\
      26. " :\n"+\
      27. "!:363747463647 3746 454131354531 4135\n"+\
      28. chr$(34)+":21221221 41423241\n"+\
      29. "#:3235 4245 2353 2454\n"+\
      30. "$:53423223344455463625 3137 4741\n"+\
      31. "%:5117 1131331311 3537575535\n"+\
      32. "&:56242232434453 4434252637475655\n"+\
      33. "':31413231\n"+\
      34. "(:4131243747\n"+\
      35. "):2131443727\n"+\
      36. "*:5612 1652 1454 3236\n"+\
      37. "+:3236 1454\n"+\
      38. ",:34444537273634453637 3545 4435\n"+\
      39. "-:2454\n"+\
      40. ".:363747463647 4637\n"+\
      41. "/:5117\n"+\
      42. "0:22314152564737262256\n"+\
      43. "1:224147 3757\n"+\
      44. "2:22314152534434252757\n"+\
      45. "3:2231415253445556473726\n"+\
      46. "4:412555 4447\n"+\
      47. "5:512124334354564727\n"+\
      48. "6:5241312226374756553324\n"+\
      49. "7:22215127 3444\n"+\
      50. "8:34445352413122233425263747565544\n"+\
      51. "9:263747565241312223344453\n"+\
      52. chr$(58)+":463635454635 3645 443433434433 3443\n"+\
      53. ";:344443333443 3344 454637273635453637 364635\n"+\
      54. "<:421446\n"+\
      55. "=:5323 2555\n"+\
      56. ">:124416\n"+\
      57. "?:232231415253443435 36374736\n"+\
      58. "@:5647271612214152544535242332424435\n"+\
      59. "A:171221415257 5414\n"+\
      60. "B:17114152534414 4455564717\n"+\
      61. "C:5647271612214152\n"+\
      62. "D:17114152564717\n"+\
      63. "E:57171151 1444\n"+\
      64. "F:171151 1444\n"+\
      65. "G:52412112162747565434\n"+\
      66. "H:1711 5157 5414\n"+\
      67. "I:2141 3137 2747\n"+\
      68. "J:1527475551\n"+\
      69. "K:1117 5115 3357\n"+\
      70. "L:111757\n"+\
      71. "M:1711355157\n"+\
      72. "N:17115751\n"+\
      73. "O:161221415256472716\n"+\
      74. "P:17114152534414\n"+\
      75. "Q:3557 564727161221415256\n"+\
      76. "R:17114152534414 3457\n"+\
      77. "S:524121121324445556472716\n"+\
      78. "T:1151 3137\n"+\
      79. "U:111627475651\n"+\
      80. "V:113751\n"+\
      81. "W:1117345751\n"+\
      82. "X:1157 5117\n"+\
      83. "Y:113451 3437\n"+\
      84. "Z:11511757 2444\n"+\
      85. "[:41212747\n"+\
      86. "\:1157\n"+\
      87. "]:21414727\n"+\
      88. "^:233143\n"+\
      89. "_:1858\n"+\
      90. "`:31433331\n"+\
      91. "a:171221415257 5414\n"+\
      92. "b:17114152534414 4455564717\n"+\
      93. "c:5647271612214152\n"+\
      94. "d:17114152564717\n"+\
      95. "e:57171151 1444\n"+\
      96. "f:171151 1444\n"+\
      97. "g:52412112162747565434\n"+\
      98. "h:1711 5157 5414\n"+\
      99. "i:2141 3137 2747\n"+\
      100. "j:1527475551\n"+\
      101. "k:1117 5115 3357\n"+\
      102. "l:111757\n"+\
      103. "m:1711355157\n"+\
      104. "n:17115751\n"+\
      105. "o:161221415256472716\n"+\
      106. "p:17114152534414\n"+\
      107. "q:3557 564727161221415256\n"+\
      108. "r:17114152534414 3457\n"+\
      109. "s:524121121324445556472716\n"+\
      110. "t:1151 3137\n"+\
      111. "u:111627475651\n"+\
      112. "v:113751\n"+\
      113. "w:1117345751\n"+\
      114. "x:1157 5117\n"+\
      115. "y:113451 3437\n"+\
      116. "z:11511757 2444\n"+\
      117. "{:514132332435364757\n"+\
      118. "|:3137\n"+\
      119. "}:172736354433322111\n"+\
      120. "~:1423334453 1524354554\n"+\
      121. ":\n"+\
      122. "€:5241312226374756 4313 1444\n"+\
      123. ":\n"+\
      124. "‚:\n"+\
      125. "ƒ:\n"+\
      126. "„:\n"+\
      127. "…:\n"+\
      128. "†:\n"+\
      129. "‡:\n"+\
      130. "ˆ:\n"+\
      131. "‰:\n"+\
      132. "Š:\n"+\
      133. "‹:\n"+\
      134. "Œ:\n"+\
      135. " :\n"+\
      136. "Ž:\n"+\
      137. " :\n"+\
      138. " :\n"+\
      139. "‘:\n"+\
      140. "’:\n"+\
      141. "“:\n"+\
      142. "”:\n"+\
      143. "•:\n"+\
      144. "–:\n"+\
      145. "—:\n"+\
      146. "˜:\n"+\
      147. "™:\n"+\
      148. "š:\n"+\
      149. "›:\n"+\
      150. "œ:\n"+\
      151. " :\n"+\
      152. "ž:\n"+\
      153. "Ÿ:\n"+\
      154. " :\n"+\
      155. "¡:\n"+\
      156. "¢:\n"+\
      157. "£:\n"+\
      158. "¤:\n"+\
      159. "¥:\n"+\
      160. "¦:3137\n"+\
      161. "§:5241312233435445352433 4556473726\n"+\
      162. chr$(168)+":21221221 41423241\n"+\
      163. "©:312112153747565231 433223253645\n"+\
      164. "ª:\n"+\
      165. "«:\n"+\
      166. "¬:\n"+\
      167. "­:\n"+\
      168. "®:262232433424 3446 564727151221415356\n"+\
      169. "¯:\n"+\
      170. "°:4121234341\n"+\
      171. "±:2224 1333 5117 3555\n"+\
      172. "²:\n"+\
      173. "³:\n"+\
      174. "´:41334341\n"+\
      175. "µ:271612 1526364442 4446\n"+\
      176. "¶:\n"+\
      177. "·:\n"+\
      178. "¸:\n"+\
      179. "¹:\n"+\
      180. "º:\n"+\
      181. "»:\n"+\
      182. "¼:\n"+\
      183. "½:\n"+\
      184. "¾:\n"+\
      185. "¿:\n"+\
      186. "À:\n"+\
      187. "Á:\n"+\
      188. "Â:\n"+\
      189. "Ã:\n"+\
      190. "Ä:1713315357 5515 12211112 41525141\n"+\
      191. "Å:\n"+\
      192. "Æ:\n"+\
      193. "Ç:\n"+\
      194. "È:\n"+\
      195. "É:\n"+\
      196. "Ê:\n"+\
      197. "Ë:\n"+\
      198. "Ì:\n"+\
      199. "Í:\n"+\
      200. "Î:\n"+\
      201. "Ï:\n"+\
      202. "Ð:\n"+\
      203. "Ñ:\n"+\
      204. "Ò:\n"+\
      205. "Ó:\n"+\
      206. "Ô:\n"+\
      207. "Õ:\n"+\
      208. "Ö:21111221 41525141 224253564727161322\n"+\
      209. "×:\n"+\
      210. "Ø:\n"+\
      211. "Ù:\n"+\
      212. "Ú:\n"+\
      213. "Û:\n"+\
      214. "Ü:515647271611 21223221 31424131\n"+\
      215. "Ý:\n"+\
      216. "Þ:\n"+\
      217. "ß:171221415243545647\n"+\
      218. "à:\n"+\
      219. "á:\n"+\
      220. "â:\n"+\
      221. "ã:\n"+\
      222. "ä:1713315357 5515 12211112 41525141\n"+\
      223. "å:\n"+\
      224. "æ:\n"+\
      225. "ç:\n"+\
      226. "è:\n"+\
      227. "é:\n"+\
      228. "ê:\n"+\
      229. "ë:\n"+\
      230. "ì:\n"+\
      231. "í:\n"+\
      232. "î:\n"+\
      233. "ï:\n"+\
      234. "ð:\n"+\
      235. "ñ:\n"+\
      236. "ò:\n"+\
      237. "ó:\n"+\
      238. "ô:\n"+\
      239. "õ:\n"+\
      240. "ö:21111221 41525141 224253564727161322\n"+\
      241. "÷:\n"+\
      242. "ø:\n"+\
      243. "ù:\n"+\
      244. "ú:\n"+\
      245. "û:\n"+\
      246. "ü:515647271611 21223221 31424131\n"+\
      247. "ý:\n"+\
      248. "þ:\n"+\
      249. "ÿ:1117575111"
      250. GOTO "BACK" '<< Zeile 256 für Zl-Nr. = ASCII
      251. WEITER:
      252. Declare s$,z$,o&,tmp$,both$,xx&,yy&,drw&,dd&
      253. CLS:xx&=20:yy&=50 'Default-Startpixel des Textes
      254. NOCHMAL:
      255. locate 2,1:Print " Zu plottender Text: "+\
      256. " "
      257. locate 2,22:input s$
      258. case instr("(C)",s$):s$=left$(s$,instr("(C)",s$)-1)+chr$(169)+mid$(s$,instr("(C)",s$)+3,len(s$)-2-instr("(C)",s$))
      259. case instr("(R)",s$):s$=left$(s$,instr("(R)",s$)-1)+chr$(174)+mid$(s$,instr("(R)",s$)+3,len(s$)-2-instr("(R)",s$))
      260. case instr("+/-",s$):s$=left$(s$,instr("+/-",s$)-1)+chr$(177)+mid$(s$,instr("+/-",s$)+3,len(s$)-2-instr("+/-",s$))
      261. :if s$="cls":cls:xx&=20:yy&=50:goto "NOCHMAL":endif
      262. drw&=0 'Stift abheben
      263. xx&=20 'CR
      264. yy&=yy&+2*15 'LF
      265. dd&=1 'Plotterstiftdicke
      266. ':::CLS
      267. ':::locate 10,1
      268. Whileloop len(s$)
      269. z$=mid$(s$,&Loop,1)
      270. o&=ord(z$)
      271. tmp$=pl$[o&]
      272. both$=left$(tmp$,2)
      273. 'Gridcodes des Zeichens laden:
      274. tmp$=substr$(tmp$,2,":")
      275. PLOT tmp$,xx&,yy&,dd&
      276. xx&=xx&+2*6 'Schreibposition+2*Step
      277. endwhile
      278. GOTO "NOCHMAL"
      279. Proc PLOT :parameters k$, xx&,yy&,dd&
      280. declare x&,y&
      281. ':::print K$
      282. drw&=0
      283. usepen 0,dd&,rgb(255,0,0)
      284. whileloop 1,len(k$),2
      285. 'Gridcode xy holen:
      286. x&=val(mid$(k$,&Loop,1))
      287. y&=val(mid$(k$,&Loop+1,1))
      288. 'Doppelnull ignorieren (Moveto-Zeichen)
      289. if ((x&=0) and (y&=0))
      290. drw&=0
      291. continue
      292. endif
      293. ' Plotten
      294. if drw&=0
      295. moveto xx&+2*x&,yy&+2*y&
      296. drw&=1
      297. else
      298. lineto xx&+2*x&,yy&+2*y&
      299. endif
      300. endwhile
      301. endproc
      302. END
      Alles anzeigen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Abt. Gretchen-Frage an die Programmierer:
      ================================
      Welche Programmiersprache ist am besten für ANDROID-Handys geeignet?
      Gibt es da etwas mit XProfan vergleichbares?

      P.S.: @H.Brill hat im vorangegangenen Thread auf B4A hingewiesen - danke.
      Hier ein Link auf das Deutsche Anwenderforum von Basic-for-Andorid & Co "B4X"

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von p. specht ()

    • Abt. Traditionelle Rätsel - TR 1
      =======================
      Ein Vater hinterließ seinen beiden Söhnen Andi und Ben 10.000 Euro. Wenn ein Drittel von Andis Erbschaft von einem Viertel von Bens Erbe abgezogen würde, dann blieben genau 1100 Euro über. Wie wurde das Erbe also aufgeteilt?
    • Hallo p.specht,

      ich verwende seit über 30 Jahren Pascal/Delphi.
      Mit der "Delphi Community Edition" konnte ich einige Projekte auf Android bzw. Linux umstellen.

      Vielleicht kannst Du dich mit der Sprache anfreunden.

      Tschau

      Nachtrag, XProfan kenne ich nicht, aber die Sprache wurde ja mit Delphi entwickelt. Vielleicht gibt es ja Parallelen die den Umstieg erleichtern.

      Bei den neuen Sachen gibt es z.B. "Low-Code-Plattformen", da wird nichts mehr programmiert.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Oldi-40 () aus folgendem Grund: Nachtrag

    • Abt. Schöne neue Welt
      =================
      Ich gestehe, ich kriege das Muffensausen wenn ich an die Machtballung bei Firma Google denke. Nun werden die auch mit mobiler SQL-Datenbankanbindung aufwarten und bieten von Cloud-Computing und tollen Auswertungstools bis hin zu Supercomputing, starker KI und Quantencomputern das volle Programm.

      Großkonzerne machen das Rennen: Mit Edge computing (u.v.a. Siemens, Cisco, nicht der Microsoft-Browser!) werden weiters auch semi-anonyme Clouds für den einzelnen digitalisierten Haushalt interessant: Die Waschmaschine und der Stromzähler werden in der Cloud sein, die vorhandenen Nutzungsdaten für Firmen zugreifbar - auch für Spionagedienste und ´Firma Mafia´. Selbst die Raspberry-Pi-Bastlerwelt wird gerade in die Internet-of-things-Cloud eingebunden - freiwillig!

      Ich erwarte demnächst die Digital-Klospülung am Markt! Google wird wissen wollen, wieviele Blatt Klopapier wir verbrauchen. Denn wichtig ist ja, was hinten rauskommt ...
      Gruss

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von p. specht ()

    • Neu

      Oldi-40 schrieb:

      Nachtrag, XProfan kenne ich nicht, aber die Sprache wurde ja mit Delphi entwickelt. Vielleicht gibt es ja Parallelen die den Umstieg erleichtern.
      Eigentlich ist Profan ein Mix aus Pascal- und Basic-Elementen. Alles recht einfach gehalten, deshalb der Name ;-) Das X davor steht in neueren Versionen für extended, also auch OOP mit drin.
      Mal so ein Beispiel für die Vereinfachung:
      CLS reicht, um das Standardfenster zu erzeugen. Geht dann auch aufwendiger, um das Fenster besser anzupassen:
      WINDOWSTYLE 63
      WINDOWTITLE "Test"
      WINDOW 481,158-640,500


      Um ein Control zu erzeugen
      BUTTON1& = CREATE("BUTTON",%HWND,"Beschriftung",244,46,88,32)

      Hier sieht man schon die Vereinfachung, einige Parameter der normalen Fenstererstellung werden gar nicht verlangt, sondern intern vorgegeben. Man muß gar nicht wissen, welche Stile es gibt und was eine ID ist ;-) Wer alle Parameter setzen will, kann allerdings auch die Funktion CONTROL() verwenden, die ruft dann die Windows-API CreateWindow oder CreateWindowEX auf, je nach Anzahl der Parameter.

      Fenster und Dialoge so einfach in der IDE mit der Maus zusammenklickern ist nicht so einfach wie in Delphi, da braucht es zusätzliche Tools. Für den Umstieg auf Delphi muß man schon noch etwas hinzulernen. Wenn man nicht alles haben will, gehts auch andersrum, und das ist dann einfacher.

      Gruß Volkmar
    • Neu

      Abt. Download-Link: Viertelpieper V1.0beta
      ================================
      Nach einigen Tests und Justierungen hier ein Download-Link zu einer gezipten exe eines Viertelstunden-Piepers.
      Einige Tests hat er bestanden, dennoch: Es handelt sich um ein reines Demonstrationsprogramm ohne jedwede Gewähr! BITTEl UNBEDINGT AUF VIREN PRÜFEN, meine Internetseite ist nicht https-gesichert!!!!
      Verwendet den Sound-Befehl von XProfan 11.2a, der nicht auf allen Systemen läuft. Beim Start sollte ein kurzer Testton hörbar sein. Kurz, aber verwendet volle Systemlautstärke. Erfahrungsberichte willkommen!
      Gruss
    • Neu

      p. specht schrieb:

      Abt. Download-Link: Viertelpieper V1.0beta
      ================================
      Nach einigen Tests und Justierungen hier ein Download-Link zu einer gezipten exe eines Viertelstunden-Piepers.
      Einige Tests hat er bestanden, dennoch: Es handelt sich um ein reines Demonstrationsprogramm ohne jedwede Gewähr! BITTEl UNBEDINGT AUF VIREN PRÜFEN, meine Internetseite ist nicht https-gesichert!!!!
      Verwendet den Sound-Befehl von XProfan 11.2a, der nicht auf allen Systemen läuft. Beim Start sollte ein kurzer Testton hörbar sein. Kurz, aber verwendet volle Systemlautstärke. Erfahrungsberichte willkommen!
      Ist aber sehr rudimetär, da nur Pieper. Den überhört man auch gerne mal. Wenn man das Fensterchen verkleinert bzw.
      aufmacht, kommt auch noch ein Pieper. Hab jetzt auch eine Version. Ist zwar nicht so ganz genau, aber als TrayIcon
      gemacht, wo man mit der rechten Maustaste noch was einstellen kann, und bringt noch eine Meldung auf den Desktop.

      Quellcode

      1. Declare tm$, text$, x%, y%, flg&, msg&, Hicon&, ende&, checktimer&
      2. WindowStyle 26 + 512
      3. WindowTitle "Viertelstunden - Wecker"
      4. Window 0,0-0,0
      5. ShowWindow(%hWnd,0)
      6. Hicon& = Create("hIcon","A")
      7. TrayIcon("Add", %hWnd, 1, hIcon&, "Viertelstunden - Wecker")
      8. SetTimer 60000
      9. x% = 400
      10. y% = 200
      11. checktimer& = 1
      12. ende& = 0
      13. msg& = 0
      14. text$ = ""
      15. Proc Menue
      16. CreateMenu
      17. AppendMenu 101, "&Info"
      18. AppendMenu 102, "&Wecker aktiviert"
      19. AppendMenu 103, "WeckText erstellen"
      20. AppendMenu 104, "-"
      21. AppendMenu 105, "&Beenden"
      22. CheckMenu 102, checktimer&
      23. Return TrackMenu()
      24. EndProc
      25. WhileNot ende&
      26. WaitInput
      27. If %wmTimer
      28. tm$ = Mid$(Time$(0), 4, 2)
      29. Select tm$
      30. CaseOf "00", "15", "30", "45"
      31. Sound 2000, 80 : Sleep 100 : Sound 2000, 80 : Sleep 100 : Sound 2000, 80
      32. text$ = text$ + DT("GetTime", 0)
      33. StartPaint %DeskTop
      34. DrawText x%, y%, text$
      35. EndPaint
      36. WaitInput 10000
      37. EndSelect
      38. EndIf
      39. If TrayIcon("Msg", 1) = $204 'Rechter Mausbutton gedrückt
      40. SetActiveWindow(%hWnd)
      41. Menue()
      42. If (%MenuItem = 101)
      43. Messagebox("Wecker", "Info", 0)
      44. SetMenuItem 0
      45. ElseIf (%MenuItem = 102)
      46. If checktimer& = 1
      47. KillTimer
      48. checktimer& = 0
      49. Else
      50. SetTimer 1000
      51. checktimer& = 1
      52. EndIf
      53. SetMenuItem 0
      54. ElseIf (%MenuItem = 103)
      55. text$ = Input$("Wecktext eingeben !", "Wecker", "Hallo, ich soll dich erinnern um ")
      56. SetMenuItem 0
      57. ElseIf (%MenuItem = 105)
      58. ende& = 1
      59. SetMenuItem 0
      60. EndIf
      61. EndIf
      62. EndWhile
      63. Case checktimer& = 1 : KillTimer
      64. End
      Alles anzeigen
    • Neu

      Abt. INHALTE DER BISHERIGEN ALGORITHMEN-KAPITEL I bis XXII
      =========================================
      Das elektronische Inhaltsverzeichnis der bisherigen ALGORITHMEN-Beiträge Kapitel 01 bis 22 wurde upgedated und steht wieder als ZIP-Datei zum Download zur Verfügung. Die ZIP enthält die kleine Datenbank mit Suchfunktion als EXE, sowie als anpassbares .PRF XProfan-11.2-Programm den sog. ALGORITHMENBEAMER, der nach Eingabe von Kapitelnummer_Beitragsnummer den Browser in die Nähe des entsprechenden Beitrages auf Paules PC Forum führt.

      Gruss

      P.S.: Eventuell müssen im ´Beamer´ Pfad und Browser dem eigenen System angepasst werden.
    • Neu

      Hallo zusammen,

      Die Testversion von Peter funktioniert gut. Piepser gut hörbar. Habe grade beide Versionen nebeneinander laufen.
      Geben beinahe synchron "Laut". Paar Sek. Abweichung ist normal. Hängt ja davon ab, in welchen Abständen der Timer ausgelöst wird.

      @H.Brill:
      die Linux- /Windowslösung hab ich gebaut. Aber eben auch sehr minimalistisch (Einstellungen jetzt über Textdatei). Und ja - ist in PureBasic.
      Hatte z.Zt. grade nur Linux am laufen und deshalb kurzerhand PureBasic genommen.
      In PureBasic ist es allerdings nicht so leicht, einfach mal einen Piepser zu generieren (deshalb die .wav-Lösung / Macht die Sache aber auch etwas flexibler)

      Mit Profan habe ich anschließend begonnen, jedoch wart ihr damit schneller.

      @p.specht:
      lade doch einfach deine .zip dort direkt in den Thread des Fragestellers hoch. Dann ist es für ihn einfacher, die angebotenen Lösungen zu probieren. VLlt. hat ja auch der eine oder andere ähnlichen Bedarf für solche speziellen MiniTimer :-)
      Gruß Jörg

      Ideen gibt es viele - man muß sie nur haben...
      XProfan X2.1, X3.1, X4.1 - XP-Pro SP2/3 & W7-Pro 64 - Mint Mate, AntiX