Ir ao conteúdo
  • Cadastre-se

Ajuda com Strings em Visual C++ (Solucionado!)


Pulllga

Posts recomendados

Tá, no arquivo fonte, e qual é o arquivo fonte???

Tem vários:

3 arquivos .h

1 arquivo .resX

1 arquivos .ico

1 arquivo .rc

3 arquivos .cpp

Isso só pra começo!!!

E ai, onde coloco tudo???

Obs.: Meu código é bem simples e não funciona!!!


String STR;

textBox2->Text = textBox1->Text + " - Assim SIM!!!";

STR= Convert::ToString(textBox1->Text);
textBox3->Text = STR;

A parte marcada é que não funciona, da erro:

Error 1 error C3149: 'System::String' : cannot use this type here without a top-level '^' c:\c++\testestr\Form1.h 127

T+ :D:D:D

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Error 1 error C3149: 'System::String' : cannot use this type here without a top-level '^' c:\c++\testestr\Form1.h 127

Na tentativa de ajudar, sem manjar nada de C++, vou chutar na trave: será que a resposta não está nessa mensagem de erro?

Andei lendo por aí que o "^" (acento circunflexo) é uma das extensões implementadas no C++ para torná-lo compatível com a plataforma .Net. (link)

Tem mais informação aqui:

Managed strings

In .NET strings are managed objects. The System::String class encapsulates most of the action that you will want to do on a string

compare strings;

test for substrings and individual characters;

create new strings by concatenating strings;

add padding spaces or trim them;

and insert, replace, or remove substrings.

However, it's important to realize that a String is immutable. That is, if you call a method that changes a string, you do not get back the original string modified; instead, you get a completely new string.

To declare a string and initialize its value, we usually use code like:

String *str = S"Hello, world!";

The S prefix indicates that the string is a managed string. The String class has constructors that take an unmanaged pointer to a char buffer and an unmanaged pointer to a wide char buffer, which will convert the strings into the managed string. However, to do so requires the compiler to generate extra code, so if possible, you should always use managed string literals.

If we have two different Strings a and b we cannot compare them just using the equality operator ==:

String *a = S"Hello";

String *b = S"hello";

if( a == b ) ... // WRONG

Instead, we need to use method Equals():

if( a->Equals(B) ) ... // CORRECT

or

if( String::Equals(a, B) ) ... // CORRECT

Please consult the MSDN library to see all members of the String class.

Link: http://ist.marshall.edu/ist482/l12.html

Link para o comentário
Compartilhar em outros sites

Olá Clemente Silva,

Eu achei na net esse teu artigo e resolvi todos os meus problemas!!!

O código está no meu trabalho, mas o problema é só na declaração da variável, tem que ser mais ou menos assim:

String var^;

ou

String ^var;

Não lembro ao certo, mas amanhã eu vejo no trabalho e posto aqui a solução, depois é só usar a variável normalmente como qualquer outra variável!!!

A única diferença é que as variáveis parecem componentes, se digitar:

var-> e apertar ctrl+espaço

aparece um menu com funções possiveis de se realizar com aquele tipo de variável!!!

Coisa que VB e Delphi não tem!!!

valeu por toda a ajuda de vocês, abraços... :D:D:D

Link para o comentário
Compartilhar em outros sites

Só pra finalizar, o código que testei e funcionou!


String ^STR;

textBox2->Text = textBox1->Text + " - Assim SIM!!!";
STR = textBox1->Text;
                
if(STR->Equals("Haha")){
   textBox4->Text = STR;
   }
else{
   textBox4->Text = "Falho";
   }

Bem simples e prático!!!

Obrigado a todos que ajudaram! :D:D:D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!