Seite 1 von 1

reg-ios.spin & input

Verfasst: Di 22. Mär 2016, 18:53
von PIC18F2550
Fragt mann zweimal hintereinander die Routine auf, und gibt man beim zweitenmal nur Enter ein so bekommt man das erste zeichen von der vorhergehenden abfrage.

Re: reg-ios.spin & inpu

Verfasst: Di 22. Mär 2016, 20:03
von zille9
steckt das letzte Zeichen noch im INPUT-Puffer,
Lösung:Puffer nach Abfrage löschen

Re: reg-ios.spin & input

Verfasst: Mi 23. Mär 2016, 08:45
von PIC18F2550
Der Puffer muss vorher gelöscht werden.
Am besten gleich in der Input Funktion.

Bitte in neuer Revision einarbeiten.

Code: Alles auswählen

PUB input(stradr,anz) | curpos,i,n                      'key: stringeingabe
{{input(stradr,anz) - key: stringeingabe}}

  curpos := curgetx                                     'cursorposition merken
  i := 0
  byte[stradr][i] := 0                    '<<< REV.>>>
  repeat
    n := keywait                                        'auf taste warten
    if n == $0d
       quit
    if (n == CHAR_BS)&(i>0)                             'backspace
       printbs
       i--
       byte[stradr][i] := 0
    elseif i < anz                                      'normales zeichen
       printchar(n)
       byte[stradr][i] := n
       i++
       byte[stradr][i] := 0

Re: reg-ios.spin & input

Verfasst: Mi 23. Mär 2016, 12:54
von drohne235
Notiert! :DAUMENHOCH

Re: reg-ios.spin & input

Verfasst: Do 4. Mai 2017, 22:59
von drohne235
Fehler ist für R58 korrigiert.

Re: reg-ios.spin & input

Verfasst: Fr 5. Mai 2017, 08:41
von PIC18F2550
OK :)