Substring de uma determinada hora
A situação é a seguinte:
Tenho um Edit para o usuário inserir horas
tipo ´10:00´
Preciso checar se o valor da 3ª posição do meu edit1.text é igual à ´:´ ...
como faço isso ?
[b:5970dddb07]Título editado pelo Moderador (AZ)[/b:5970dddb07]
Tenho um Edit para o usuário inserir horas
tipo ´10:00´
Preciso checar se o valor da 3ª posição do meu edit1.text é igual à ´:´ ...
como faço isso ?
[b:5970dddb07]Título editado pelo Moderador (AZ)[/b:5970dddb07]
Ederbond
Curtidas 0
Respostas
Fernando Leal
19/12/2003
if Copy(edit1.text, 3,1) = ´:´ then
<comando>
[]´s
Fernando Leal
<comando>
[]´s
Fernando Leal
GOSTEI 0
Ederbond
19/12/2003
Nesta espressão:
Copy(edit1.text, 3,1)
´3´ é a posição que eu desejo pegar, certo .
e ´1´ Significa o que ?
Copy(edit1.text, 3,1)
´3´ é a posição que eu desejo pegar, certo .
e ´1´ Significa o que ?
GOSTEI 0
Biffi
19/12/2003
quantidade de caracteres que serão copiados.
Agora se vc quer somente verificar se o 3º caracter é ´:´ talvez seja mais simples
if edit1.text[3] = ´:´ then
falow
Agora se vc quer somente verificar se o 3º caracter é ´:´ talvez seja mais simples
if edit1.text[3] = ´:´ then
falow
GOSTEI 0
Hunterxxx
19/12/2003
significa que a conta ate 3 e pega 1 caracter apenas......
mas no caso eu acho q é 2 ne nao ?
nao comeca do zero nao ????
mas no caso eu acho q é 2 ne nao ?
nao comeca do zero nao ????
GOSTEI 0
Deus
19/12/2003
A sintaxe da função é
Onde você primeiro indica de qual string você vai copiar, em seguida qual a posição de onde será iniciada a cópia, e finalmente quantas posições serão copiadas. Logo, se você executa
Você está copiando o conteúdo do [i:73200f59fd]Edit1.Text[/i:73200f59fd], a partir da 3ª posição, uma posição apenas.
Abraços, dEUS
Copy(varString, Indice, Quantidade);
Onde você primeiro indica de qual string você vai copiar, em seguida qual a posição de onde será iniciada a cópia, e finalmente quantas posições serão copiadas. Logo, se você executa
Copy(Edit1.text, 3, 1);
Você está copiando o conteúdo do [i:73200f59fd]Edit1.Text[/i:73200f59fd], a partir da 3ª posição, uma posição apenas.
Abraços, dEUS
GOSTEI 0
Biffi
19/12/2003
[color=green:23e4bf08e3][i:23e4bf08e3] Enviada: Sex Dez 19, 2003 7:36 pm Assunto:
--------------------------------------------------------------------------------
significa que a conta ate 3 e pega 1 caracter apenas......
mas no caso eu acho q é 2 ne nao ?
nao comeca do zero nao ???? [/i:23e4bf08e3][/color:23e4bf08e3]
Toda string é um vetor, e todo vetor começa da posição 1[/list]
--------------------------------------------------------------------------------
significa que a conta ate 3 e pega 1 caracter apenas......
mas no caso eu acho q é 2 ne nao ?
nao comeca do zero nao ???? [/i:23e4bf08e3][/color:23e4bf08e3]
Toda string é um vetor, e todo vetor começa da posição 1[/list]
GOSTEI 0
Deus
19/12/2003
Não, nem todo vetor começa a partir da posição 1. Num [i:974175f038]ListBox[/i:974175f038], por exemplo, a lista de elementos começa a partir do 0. Muitos vetores, aliás, começam do 0. Em C, por exemplo, os vetores são obrigatoriamente indexados a partir de 0. Já em Delphi, você pode optar de onde começa e onde termina. Se você quiser, um vetor pode começar em 5, 6, 7, 20.. pode nem ser indexado por números! Um vetor do tipo
É válido, e seria um vetor com duas posições: [i:974175f038]arBool[False][/i:974175f038] e [i:974175f038]arBool[True][/i:974175f038]. :) A questão é que a toda string é vista como um vetor de caracteres, que se inicia a partir da posição 1.
arBool: Array[False..True] of String;
É válido, e seria um vetor com duas posições: [i:974175f038]arBool[False][/i:974175f038] e [i:974175f038]arBool[True][/i:974175f038]. :) A questão é que a toda string é vista como um vetor de caracteres, que se inicia a partir da posição 1.
GOSTEI 0
Biffi
19/12/2003
foi exatamente isso que eu quis dizer (vetor com relação a strings), me expressei mau, desculpem-me.
t+
t+
GOSTEI 0
Ederbond
19/12/2003
Valeu galera....
Mto obrigado!
Mto obrigado!
GOSTEI 0