¡Hola a todos!
Cita:
Empezado por roman
...Copy ya viene incluida con Delphi y devolverá una cadena vacía...
|
Tu lo has dicho:
una cadena, por lo que su resultado no será directamente asignable a una variable Char, o evaluable en un estatuto Case, por ejemplo. Y como el tema es
Extraer el primer caracter de un string.
Entiendo que la función Copy resuelve por si sóla muchas situaciones donde necesitamos una subcadena de uno o varios caracteres. La utilizo en muchos casos. Pero, por ejemplo, resulta más práctico:
Código:
Case CaracCade (Cadena) Of
'A' : Result := 10;
'B' : Result := 9;
'C' : Result := 8;
Else
Result := 0;
End;
que
Código:
C := Copy (Cadena, 1, 1);
Result := 0;
If C <> '' Then
Case C [1] Of
'A' : Result := 10;
'B' : Result := 9;
'C' : Result := 8;
End;
ó
Código:
Result := 0;
If Cadena <> '' Then
Case Copy (Cadena, 1, 1) [1] Of
'A' : Result := 10;
'B' : Result := 9;
'C' : Result := 8;
End;
Es evidente la simplificación que se logra. Los invito a que se ahorren cientos de líneas y horas de programación utilizando estas funciones de su humilde servidor.
¡Un abrazo!
Al González
.