Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Duda Tstring (https://www.clubdelphi.com/foros/showthread.php?t=32782)

wildnetboy 16-06-2006 03:00:05

Duda Tstring
 
Hola Amigos estoy en un gran problema que no puedo resolver y me esta matando la duda...
Quiero pasar un texto selecionado con doble click en un TlistBox a un label y me marca un error de que no puede convertir in "Tstring" a un "AnsiString"
El codigo es el siguiente;

Label2->Caption = ListBox1->Items[ListBox1->ItemIndex];


[C++ Error] Unit1.cpp(44): E2034 Cannot convert 'TStrings' to 'AnsiString'

POr que me marca el error ma hara falta alguna libreria??
O como convierto un TString a un AnsiString???

MUCHAS GRACIAS POR LA AYUDA

dec 16-06-2006 03:41:38

Hola,

Estás tratando de asignar una variable "TStrings" a una "AnsiString", de ahí el problema. Prueba con algo como esto:

Código:

Label2->Caption = ListBox1->Items->Strings[ListBox1->ItemIndex];

wildnetboy 16-06-2006 03:48:27

jajajajajaja
Gracias ...
Muchisimas gracias ya tenia 3 horas tratando de varias maneras...
y era tan sencillo ....
Haz resuelto mi vida existencial y es que en la ayuda del Builder no encontre mucho, pero creo que no busque bien...
GRACIAS!!!!!!!!!

roman 16-06-2006 03:54:28

Como no ando muy puesto en C++ Builder, debo confesar que esto me tomó de sorpresa. El equivalente en Delphi a lo que originalmente escribió wildnetboy sí es válido:

Código Delphi [-]
Label2.Caption := ListBox1.Items[ListBox1.ItemIndex];

dado que Strings es la propiedad por default de Items. Veo entonces que en C++ Builder ¿no hay propiedades default?

// Saludos

dec 16-06-2006 04:11:11

Hola,

Cita:

Empezado por Román
dado que Strings es la propiedad por default de Items. Veo entonces que en C++ Builder ¿no hay propiedades default?

Yo no me fijé en eso, pero, ahora que lo dices, así debe ser, que en C++ Builder no existe una propiedad "por defecto", como ocurre en Delphi.

Lepe 16-06-2006 08:36:21

Cita:

Empezado por roman
¿no hay propiedades default?

Yo tardé 10 minutos dando vueltas por internet hasta deducirlo :D

Saludos

jumanor 16-06-2006 19:41:37

operador []
 
holas:

En cbuilder6 se procedio a sobrecargar el operador[] asi q tambien se podria utilizar del siguiente modo:

String Cadena=(*ListBox1->Items)[0];

OSKR 16-06-2006 20:19:38

default? para q usan el default?.

roman 16-06-2006 20:30:16

En Delphi, una propiedad tipo arreglo puede ser declarada como default de manera que puede omitirse en una expresión. En este caso, la clase TStrings tiene a su propiedad Strings como default y por ello, si V es una variable de tipo TStrings, V.Strings[n] puede reducirse a V[n].

// Saludos

OSKR 16-06-2006 21:19:46

hhhhhhhhhhhmmmmmmm ya veo q es útil.
En C si tenemos un arreglo, podemos referenciar el primero con un '*'
Código:

Objeto *Algo;
//......
Objeto OtroAlgo=*Algo; //OtroAlgo sería lo mismo q Algo[0]



La franja horaria es GMT +2. Ahora son las 21:32:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi