[pascal] max aantal karakters

Pagina: 1
Acties:

  • TheWarden
  • Registratie: November 2001
  • Laatst online: 14-03-2023
hoe kan je in pascal het maximaal aantal karakters aangeven? dus als je iets in wilt lezen hij maximaal 4 karakters mag zijn?

Mijn Systeem Specs


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 31-08 15:46

mulder

ik spuug op het trottoir

inputstr$(4) of zoiets?

oogjes open, snaveltjes dicht


  • ArchRAIDen
  • Registratie: Juni 2001
  • Laatst online: 08-04 16:29
Zat volgens mij niet standaard in pascal, je kan als je een read doet gewoon vrolijk doortikken, ik heb ooit een functie ergens vandaan gehaald die gewoon je invoer afkapt bij een bepaald aantal karakters, werkte wel goed. ik zou zeggen, google ffies.

  • TheWarden
  • Registratie: November 2001
  • Laatst online: 14-03-2023
ik google me rot!!! :) ik vraag mij af of het op read(ln) of write(ln) moet. Want maakt op zich niet zoveel uit op welke.

Mijn Systeem Specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:05
Ik denk ook dat het niet kan, net als in C/C++ wordt alles gewoon in een buffer geplaatst.

https://fgheysels.github.io/


Verwijderd

hm, werkte niet. :(

Kan je niet delhi pakken ofzo??

  • basmatt
  • Registratie: December 2001
  • Laatst online: 11:26
optie 1
zelf een routine schrijven die achteraf controleert of er 4 of minder karakters ingevoerd zijn

optie 2
4 x een karakter inlezen en die achter elkaar plaatsen.

Dat er intelligente buitenaardse wezens bestaan wordt feilloos bewezen
door het feit dat ze nog geen contact met ons hebben opgenomen.


  • TheWarden
  • Registratie: November 2001
  • Laatst online: 14-03-2023
basmatt schreef op 07 oktober 2002 @ 13:58:
optie 1
zelf een routine schrijven die achteraf controleert of er 4 of minder karakters ingevoerd zijn

optie 2
4 x een karakter inlezen en die achter elkaar plaatsen.
ik doe nu optie 2 in het programma, maar dan alsnog hij leest in:

g1 gedeclareerd als integer, maar er is een mogelijkheid (Weet ik 100% cker, maar niet meer hoe) om max 1 karakter aan te geven. Want nu kan je ook meerdere karakters invoeren op g1.

Mijn Systeem Specs


Verwijderd

optie 1 is safer (is volgens mij geen goed engels _/-\o_ )!

  • basmatt
  • Registratie: December 2001
  • Laatst online: 11:26
wardheuvel schreef op 07 oktober 2002 @ 14:02:
[...]


ik doe nu optie 2 in het programma, maar dan alsnog hij leest in:

g1 gedeclareerd als integer, maar er is een mogelijkheid (Weet ik 100% cker, maar niet meer hoe) om max 1 karakter aan te geven. Want nu kan je ook meerdere karakters invoeren op g1.
tis wel een tijd geleden voor mij:
maar neem 2 variblen. 1 als "char" en 1 als "string" (gelimiteerd op 4 karakters)
stap 1: string leeg maken.
stap 2: char inlezen.
stap 3: string + char
stap 4: volgende char inlezen.
enz.

Dat er intelligente buitenaardse wezens bestaan wordt feilloos bewezen
door het feit dat ze nog geen contact met ons hebben opgenomen.


  • TheWarden
  • Registratie: November 2001
  • Laatst online: 14-03-2023
basmatt schreef op 07 oktober 2002 @ 14:14:
[...]


tis wel een tijd geleden voor mij:
maar neem 2 variblen. 1 als "char" en 1 als "string" (gelimiteerd op 4 karakters)
stap 1: string leeg maken.
stap 2: char inlezen.
stap 3: string + char
stap 4: volgende char inlezen.
enz.
declareren lukt best, maar het limiteren! dat is het probleem. uhm, eignelijk het enige probleem!

Mijn Systeem Specs


Verwijderd

Dat er intelligente buitenaardse wezens bestaan wordt feilloos bewezen
door het feit dat ze nog geen contact met ons hebben opgenomen.
offtopic:
dat is een goeie !

  • ArchRAIDen
  • Registratie: Juni 2001
  • Laatst online: 08-04 16:29
Ik heb thuis die functie nog wel ergens liggen geloof ik, ik zit nu alleen op me werk :)

Verwijderd

hm, heb hier nog hele oude code (1991-1992) liggen van mij, met allerlei routines (beetje ala TurboVision) , maar dan zonder OO.
Weet niet of alles nog 100% werkt, maar je kan die zo van me krijgen. (je moet wel een en ander ff uitzoeken dan denk ik).
bv.
Aanroep van keyboard input:
code:
1
2
FUNCTION GET(X, Y : BYTE; Msg : STRING; Flen : BYTE; Inp : InputType; VAR Value : STRING; Msk : STRING;
   Just : BYTE;hlpitem : STRING) : CHAR;

  • basmatt
  • Registratie: December 2001
  • Laatst online: 11:26
wardheuvel schreef op 07 oktober 2002 @ 14:16:
[...]


declareren lukt best, maar het limiteren! dat is het probleem. uhm, eignelijk het enige probleem!
met readkey leest pascal 1 karakter in.

een klein voorbeeldje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  ch : char;
begin
  writeln('Press Left/Right, Esc=Quit');
  repeat
    ch:=ReadKey;
    case ch of
     #0 : begin
            ch:=ReadKey; {Read ScanCode}
            case ch of
             #75 : WriteLn('Left');
             #77 : WriteLn('Right');
        end;
      end;
    #27 : WriteLn('ESC');     
    end;
  until ch=#27 {Esc}           
end.

Dat er intelligente buitenaardse wezens bestaan wordt feilloos bewezen
door het feit dat ze nog geen contact met ons hebben opgenomen.


  • Chnub
  • Registratie: Oktober 2002
  • Laatst online: 11-08 12:23
dit heb ik nog op mijn HD staan... weet niet meer pcies hoe het werkt en of alles nodig is:

leesword.p
#include "pract02.glob.h"
#include "pract02.headers.h"

procedure leeswoord (var s : stringtype);

var
ch : char;

begin
writeln('leeswoord, max', MAXWOORD, 'karacters');
while (not eoln) and (s.length <> MAXWOORD) do
begin
read (ch);
s.length := s.length + 1;
s.characters[s.length] := ch
end;
readln
end;

pract02.glob.h
const
MAXWOORD = 30;

type
stringindex = 1 .. MAXWOORD;
stringlength = 0 .. MAXWOORD;
tabeltype = packed array [stringindex] of char;

stringtype = record
characters : tabeltype;
length : stringlength
end;

pract02.headers.h
procedure leeswoord (var s : stringtype);
external;


ik hoop dat je er iets aan hebt

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:49
whoami schreef op 07 oktober 2002 @ 13:56:
Ik denk ook dat het niet kan, net als in C/C++ wordt alles gewoon in een buffer geplaatst.
Ho ho - in C/C++ kun je prima een limiet stellen aan het aantal bytes dat je inleest (met een read/fread call) of de lengte van de strings die je inleest (met 'n scanf variant en een format string van de vorm "%4s" waarbij 4 de gewenste maximale lente is).
Pagina: 1