Substituir Caracters
Como faço para ter apenas caracteres [a..z] [A..Z] [0..9] e não estes abaixo
#13, 9
fiz uma rotina q sustitui caracter 9 por ´ ´ (cinco espaços) mas não funciona direito pq quando o TAB foi dado depois de duas letras ele acrescenta cinco espaço e só poderia colocar 3 espaços.....
gustavo
#13, 9
fiz uma rotina q sustitui caracter 9 por ´ ´ (cinco espaços) mas não funciona direito pq quando o TAB foi dado depois de duas letras ele acrescenta cinco espaço e só poderia colocar 3 espaços.....
gustavo
By Alemão
Curtidas 0
Respostas
Beppe
17/12/2003
2)
function TabsToSpaces(const S: String; TabWidth: Integer): String; var I, L: Integer; begin Result := ´´; with TStringStream.Create(´´) do try L := 1; for I := 1 to Length(S) do begin case S[I] of 9: WriteString(StringOfChar(´ ´, TabWidth - (I - L) mod TabWidth)); else case S[I] of 10, 13: L := I; end; WriteString(S[I]); end; end; Result := DataString; finally Free; end; end;
GOSTEI 0
By Alemão
17/12/2003
Como faço para usar esta funcao....
Utilizei assim....
TabsToSpaces(edTexto.Lines[i],7);
7 é o numero de espaços do TAB....
mas não substitui por espaços...
Utilizei assim....
TabsToSpaces(edTexto.Lines[i],7);
7 é o numero de espaços do TAB....
mas não substitui por espaços...
GOSTEI 0
Marcelo Saviski
17/12/2003
edTexto é um memo certo?
então:
edTexto.Text := TabsToSpaces(edTexto.Text,7);
ouedTexto.Lines.Text := TabsToSpaces(edTexto.Lines.Text,7);
ou ainda:
L := edTexto.LineFromChar(edTexto.SelStart);
edTexto.Lines[L]:= TabsToSpaces(edTextol.Lines[L],7);
[i:99edd76258]{muda só a linha em que o cursor está}[/i:99edd76258]
então:
edTexto.Text := TabsToSpaces(edTexto.Text,7);
ouedTexto.Lines.Text := TabsToSpaces(edTexto.Lines.Text,7);
ou ainda:
L := edTexto.LineFromChar(edTexto.SelStart);
edTexto.Lines[L]:= TabsToSpaces(edTextol.Lines[L],7);
[i:99edd76258]{muda só a linha em que o cursor está}[/i:99edd76258]
GOSTEI 0
By Alemão
17/12/2003
Cara ainda não funcionou...
acho q esta calculando errado o tamanho do TAB....
posso te mandar os fontes pra vc dar uma olhada???
me passa teu (e 1/2)
o meu é
gustavoschepp(arroba)irani(ponto)com(ponto)br
acho q esta calculando errado o tamanho do TAB....
posso te mandar os fontes pra vc dar uma olhada???
me passa teu (e 1/2)
o meu é
gustavoschepp(arroba)irani(ponto)com(ponto)br
GOSTEI 0
Marcelo Saviski
17/12/2003
[i:11f0379eb0]gustavoschepp(arroba)irani(ponto)com(ponto)br[/i:11f0379eb0]
Tentando evitar Spam?
a função acima(do Ataliba) leva em consideração a coluna
ela vai arrumar os tabs de 7 em 7 colunas
Tentando evitar Spam?
a função acima(do Ataliba) leva em consideração a coluna
ela vai arrumar os tabs de 7 em 7 colunas
GOSTEI 0
By Alemão
17/12/2003
mas não funciona, pq eu testei e ele coloca espaços diferentes de 7 e onde deveria calcular menos espaços, esta colocando a mais....
GOSTEI 0