| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Veinte Cdt

Registrado: 11 Dic 2003Mensajes: 11Ubicación: Guadalajara (España)
|
Publicado: Lun 09 Feb, 2004 10:23 pm Asunto: Eliminar un caracter de una cadena |
|
|
| Quiero que al pulsar una tecla me borre el ultimo caracter introducido en una variable AnsiString |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Lun 09 Feb, 2004 10:40 pm Asunto: |
|
|
Hola, como estas ?, aqui te dejo un ejemplo del metodo Delete de la clase String:
| Código: | void __fastcall TForm1::Button1Click(TObject *Sender)
{
String sCadena = Edit1->Text;
sCadena = sCadena.Delete(sCadena.Length()-1,1);
Edit1->Text = sCadena;
} |
Un poco de cortesia no molesta a nadie, verdad ? _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Lun 09 Feb, 2004 11:05 pm Asunto: |
|
|
Hola Veinte, una alternativa al codigo de _Viktor podría ser el siguiente:
| Código: |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text=Edit1->Text.SetLength(Edit1->Text.Length()-1);
}
|
Y por cierto no por ser más corto tiene que ser necesariamente mejor!
 _________________ OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins. |
|
| Volver arriba |
|
 |
Veinte Cdt

Registrado: 11 Dic 2003Mensajes: 11Ubicación: Guadalajara (España)
|
Publicado: Lun 09 Feb, 2004 11:15 pm Asunto: Optimizar código |
|
|
Hola, ¿qué tal?
En primer lugar muchisimas gracias por la respuesta.
Ahora necesito optimizar este código para buscar en un campo DECIMAL de una base de datos INTERBASE:
AnsiString caa;
void __fastcall TDSInt::BDemKeyPress(TObject *Sender, char &Key)
{
if (Key == VK_RETURN && BDem->Text != "")
{
Key = 0;
DataModule1->Buscar("CAMPO", caa);
DBGrid1->SetFocus();
}
if (Key >= '0' && Key <= '9')
caa += Key;
else if (Key == '.')
{
caa += Key;
Key = ',';
}
else if (Key == DecimalSeparator)
caa += '.';
else if (Key ==
caa = caa.Delete(caa.Length(), 1);
if ((Key < '0' || Key >'9') && Key != 8 && Key != DecimalSeparator)
Key = 0;
}
¿Sería buena solución utilizar swich? |
|
| Volver arriba |
|
 |
|