Toon posts:

[Delphi] Automatische tab verspringen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mensen,

Ik zit met het volgende probleem . Ik heb voor iemand een database programma gemaakt in delphi en nu wilde hij graag een automatische tab verspringen hebben in een paar velden. Weet iemand hoe dat moet

Groet Slaptop

Verwijderd

ik begrijp je niet helemaal.. een automatische tab verspringen? :/

Verwijderd

Topicstarter
nou gewoon als je bijvoorbeeld twee nummer moet invullen en die heb je ingevuld en dan automatisch naar het volgende veld verspringd

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21:26

scorpie

Supra Addict

Verwijderd schreef op 18 December 2002 @ 10:03:
nou gewoon als je bijvoorbeeld twee nummer moet invullen en die heb je ingevuld en dan automatisch naar het volgende veld verspringd
zonder op tab te rammen? of met? met kun je gewoon instellen met tab order..

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


Verwijderd

Topicstarter
zonder op de tab te rammer

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21:26

scorpie

Supra Addict

hoe weet je programma dan wanneer je klaar bent met een veld invullen? :?

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:36
Misschien kan je dat verwezenlijken dmv een InputMask op die TextBox te leggen. (Heb het wel niet zelf getest/uitgeprobeerd en 'k weet het niet zeker....)

https://fgheysels.github.io/


Verwijderd

Wat voor waardes komen erin te staan? Is het een vaste lengte dan is het te voorspellen.
Of wil je het met een druk op de enter doen?

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 23:04
Als je weet wanneer dat gebeurd, moet je op die conditie testen in de OnChange of OnEdit of whatever event, weet even niet hoe dat zit met een TextBox, en dan DeVolgendeTextBox.SetFocus aanroepen.

Kijk ook eens naar TWinControl.FindNextControl, denk dat dit de 'officiele' tab functie is.

[ Voor 19% gewijzigd door DaCoTa op 18-12-2002 10:23 ]


Verwijderd

Topicstarter
Scorperito schreef op 18 december 2002 @ 10:18:
[...]

hoe weet je programma dan wanneer je klaar bent met een veld invullen? :?
als ik bijvoorbeeld de datum heb die heb ik in 3 velden gesplitst (kan anders maar vond het zo makelijker) en als ze bij de dag beginnen na 2 cijfers verspringt naar de maand, en daarna na 2 cijfers verspring naar het boxje van het jaar.... Kan dat?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:36
Verwijderd schreef op 18 december 2002 @ 10:24:
[...]


als ik bijvoorbeeld de datum heb die heb ik in 3 velden gesplitst (kan anders maar vond het zo makelijker) en als ze bij de dag beginnen na 2 cijfers verspringt naar de maand, en daarna na 2 cijfers verspring naar het boxje van het jaar.... Kan dat?


Heb je het al eens geprobeerd mbhv dat inputmask?

Trouwens, ik vind dat niet echt een leuke oplossing (imv die datum). Het is beter om alles in 1 veld te plaatsen, en op dat veld 1 inputmask te leggen die 2 cijfers als dag, 2 cijfers als maand en 4 cijfers als jaar accepteerd.
Je specifieert aan dat inputmask hoe die gegevens moeten ingegeven worden, bv:
99-99-9999.
Dan zal die TextBox zelf die koppeltekens al tonen, en zal er automatisch van dag naar maand, naar jaar gesprongen worden.

https://fgheysels.github.io/


  • TG
  • Registratie: Juli 2001
  • Laatst online: 30-10-2024

TG

De manier die DaCoTa beschrijft is de meest makkelijke
overigens zou ik voor een datumveld een editmask of iets dergelijks gebruiken

er zijn zelfs datum comboboxen en maancalenders in delphi

waarom moeilijk doen als het makkelijk kan >:)

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 21:26

scorpie

Supra Addict

Verwijderd schreef op 18 December 2002 @ 10:24:
[...]


als ik bijvoorbeeld de datum heb die heb ik in 3 velden gesplitst (kan anders maar vond het zo makelijker) en als ze bij de dag beginnen na 2 cijfers verspringt naar de maand, en daarna na 2 cijfers verspring naar het boxje van het jaar.... Kan dat?
vaste waardes dus --> check post boven mij van DaCoTa

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Dan kun je alleen op de OnChange event gaan zitten en daar je inputvoorwaarden testen.

Ik vind het zelf overigens een ranzige constructie, stel dat je het laatste karakter fouttypt dan ben je een hoop aan het klikken of shift-tabben voordat je het kunt corrigeren. Je creeert op deze manier een user-interface met inconsequent gedrag volgens Windows-richtlijnen, en dat verwart de gebruiker stukken meer dan dat het 'm soms helpt. Imho moet je dus gewoon die gast duidelijk maken dat ie liever op tab drukt zodra ie klaar is met een veld.

Professionele website nodig?


Verwijderd

Topicstarter
ander vraagje dan, Hoe tel ik de aantal characters in een text-veld?

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 23:04
Als het om een datum input gaat, lijkt me een masked input veel logischer. Maargoed, een TEdit, waar je het waarschijnlijk over hebt heeft een Text property, geeft String terug en die String kun je door length() heenhalen. Verder heeftie ook een MaxLength property. De rest is voor u om uit te zoeken met de F1 knop, want dit is wel erg basic Delphi. Als deze dingen nog niet duidelijk zijn, is misschien deze applicatie te hoog gegrepen.

Als je het meer in de RAD sferen wilt oplossen, kijk eens op Torry's Delphi Pages, in het bijzonder op Date and Time VCL.

[ Voor 20% gewijzigd door DaCoTa op 18-12-2002 11:03 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:41

Creepy

Tactical Espionage Splatterer

curry684 schreef op 18 december 2002 @ 10:36:
[...]

Dan kun je alleen op de OnChange event gaan zitten en daar je inputvoorwaarden testen.

Ik vind het zelf overigens een ranzige constructie, stel dat je het laatste karakter fouttypt dan ben je een hoop aan het klikken of shift-tabben voordat je het kunt corrigeren. Je creeert op deze manier een user-interface met inconsequent gedrag volgens Windows-richtlijnen, en dat verwart de gebruiker stukken meer dan dat het 'm soms helpt. Imho moet je dus gewoon die gast duidelijk maken dat ie liever op tab drukt zodra ie klaar is met een veld.
En dan roept die gast "Maar als ik een serial nummer invoer tijdens de windows installatie springt ie WEL automatisch over van het ene veld naar het andere veld ZONDER dat ik op TAB hoef te drukken" ;)

lees: ook MS zelf houdt zich niet altijd aan hun eigen richtlijnen

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 23:04
Even Avocado van de Duivel spelen: een serial number input zou best wel eens andere richtlijnen kunnen hebben, vergeleken met een gewone datum-input of een edit field. En tevens zou je kunnen aandragen dat de installatie wellicht geen MS Windows Certified application is...

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Verwijderd schreef op 18 december 2002 @ 10:45:
ander vraagje dan, Hoe tel ik de aantal characters in een text-veld?
Zoek dat maar even lekker zelf op in de Help. :)

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
Creepy schreef op 18 December 2002 @ 11:06:
[...]

En dan roept die gast "Maar als ik een serial nummer invoer tijdens de windows installatie springt ie WEL automatisch over van het ene veld naar het andere veld ZONDER dat ik op TAB hoef te drukken" ;)

lees: ook MS zelf houdt zich niet altijd aan hun eigen richtlijnen
Toch nog mensen die het met me eens zijn dat zoiets niet zo goed is, maarja als die gozer dat wil moet ik het wel maken

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:41

Creepy

Tactical Espionage Splatterer

DaCoTa schreef op 18 december 2002 @ 11:25:
En tevens zou je kunnen aandragen dat de installatie wellicht geen MS Windows Certified application is...
De installatie van Windows geen MS Windows Certified application.. whehehe.. :)

Maar goed.. zo moeilijk is het niet te maken dus, gewoon a.d.v. de lengte van het veld het volgende veld focussen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Yep al helemaal opgelost Thx ppl.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Creepy schreef op 18 december 2002 @ 11:06:
[...]

En dan roept die gast "Maar als ik een serial nummer invoer tijdens de windows installatie springt ie WEL automatisch over van het ene veld naar het andere veld ZONDER dat ik op TAB hoef te drukken" ;)

lees: ook MS zelf houdt zich niet altijd aan hun eigen richtlijnen
Geinig, wist ik niet :)

* curry684 doet niet dagelijks Windows-installs....

Maja een serial number ook zo ongeveer het enige true fixedsize field dat er bestaat, want vergeet niet dat zelfs een datumveld allesbehalve fixedsize is! Die klant hoeft maar een internationalization setting te veranderen in z'n configs en een datumveld past plots niet meer omdat ie 3-letterige codes voor de maand verwacht.... dat zul je dus ook in je logic mee moeten nemen als je tot dit soort dingen besluit.

Ik zie ook het hele voordeel niet van de aanpak: je bespaart je een tab-aanslag per veld, maar als je een typfout hebt gemaakt moet je vervolgens shift-tab, end en backspace aanslaan om het te kunnen corrigeren.

Professionele website nodig?

Pagina: 1