Odczytanie znaku z textBox

Odczytanie znaku z textBox
FR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:40
0

Witam
Mam takie pytanie, jak odnieść się do dowolnego znaku zapisane w textBox/richTextBox. Wydaje mi się, że powinienem jakoś to powiązać z tym, że jest to tablica char, ale to tylko moje przypuszczenie.
I drugie powiązane z tym zagadnienie - jak podmieniać pojedyncze znaki?
Chodzi mi o Visual C++

Pozdrawiam
Piotrek

PS: Nie daje kodu, bo i tek nie działa.

edytowany 1x, ostatnio: franiis
xeo545x39
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Kosmos
  • Postów:1571
0

Tekst w TextBox jest zapisany jako string, jak i również w RichTextBox też. string to zbiór char'ów i odwołujesz się do nich jak do tablicy operatorem []. Przykład:

Kopiuj
textBox1.Text[49]; // odwołanie się do 50. znaku w tekście

Do operacji na string'ach służy StringBuilder.


Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
edytowany 1x, ostatnio: xeo545x39
FR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:40
0
Kopiuj
label1->Text=textBox1->Text;
label2->Text=textBox1->Text[1];

No więc coś takiego miałem (wnioski moje z C++ strukturalnego), ale nie działa. A wstawienie kropki wyrzuca błąd i pyta czy miałem na myśli "->"...

xeo545x39
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Kosmos
  • Postów:1571
1

Acha Więc to C++, ale to dużo nie zmienia i tak piszesz pod .NET'a. Jak chcesz przypisać jakąś literę to:

Kopiuj
label1->Text = textBox1->Text[0]; // przypisuje pierwszy znak

Jak chcesz manipulować dowolnie tekstem, to użyj klasy StringBuilder. Tam się odwołujesz i zmieniasz poszczególne znaki jak w string'ach z czystego C++:

Kopiuj
StringBuilder^ sb = gcnew StringBuilder(textBox1.Text);

sb[0] = 'a'; // zmienia pierwszy znak na 'a'

Co kurła debuguj ten kod i streszczaj się klientowi chce się fixa, a jak nie kurła to odpale visuala i ci pomoge a tego byś nie chciał
edytowany 2x, ostatnio: xeo545x39
Patryk27
acha – wykrzykiwać „ach”, zachwycać się czymś w sposób nieco afektowany (w trzeciej osobie liczby pojedynczej), on, ona acha.
FR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:40
0

No niby fajnie, ale to nie działa...

Skopiowałem tą linię i mam taki fragment kodu:

Kopiuj
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 label1->Text=textBox1->Text;
				 label1->Text = textBox1->Text[0];
			 } 

A wyrzuca następujący błąd:
''cannot convert parameter 1 from 'wchar_t' to 'System::String ^'
1> No user-defined-conversion operator available, or
1> No standard conversion exists from the boxed form of the arithmetic type to the target type''

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 9 godzin
1
Kopiuj
 label1->Text = textBox1->Text[0];

no bo to jest próba przypisania do Stringa pojedynczego znaku wchar_t.

Kopiuj
label1->Text = textBox1->Text.Substring(0,1);
edytowany 1x, ostatnio: Azarien
xeo545x39
Lub ToString();
FR
"""error C2228: left of '.Substring' must have class/struct/union 1> type is 'System::String ^' 1> did you intend to use '->' instead? """ To ciągle nie działa wyrzucając ten błąd... I nie mam pojęcia o co chodzi choć zmieniam i różnie próbuję... EDIT:: Zadziałało
Azarien
dzizas, nie będziemy ci podpowiadać z każdą drobnostką. czytaj chociaż te błędy.
FR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:40
0
Kopiuj
label1->Text=textBox1->Text[0].ToString();
  • jakby ktoś szukał to działa taki zapis

W końcu się udało.
Bardzo dziękuję za pomoc :)

Chyba do zamknięcia.

xeo545x39
A nie znowu ->?
FR
Chyba nie skoro taki zapis zadziałał. Nie wiem dlaczego przy ToString() nie chciał '->' a przy Substring' już coś takiego proponował...
Sarrus
Hmm pewnie dlatego, że Text[0] jest charem i to nie jest typ referencyjny.
FR
A zadam takie inne pytanie przy okazji, żeby nie zaśmiecać forum. Szukam od 40 minut funkcji na zmianę String na Integer? Znalazłem Asc, AscW, atoi ToInteger(), ale nic nie chce działać. Ewentualnie gdzie dodać biblioteki do tego.
Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:dzień
  • Postów:2512
0

Szukam od 40 minut funkcji na zmianę String na Integer? Znalazłem Asc, AscW, atoi ToInteger(), ale nic nie chce działać. Ewentualnie gdzie dodać biblioteki do tego.

Daleko wcale nie trzeba szukać:
http://msdn.microsoft.com/en-us/library/system.convert.aspx#Y80
http://msdn.microsoft.com/en-us/library/system.int32.aspx

edytowany 1x, ostatnio: Sarrus
FR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:40
0
Kopiuj
System::Int32 x=textBox1->Text.ToInt32(); 

albo

Kopiuj
 System::Int32 x=ToInt32(textBox1->Text);

Ale żaden z tych zapisów nie pozwala mi odpalić programu.

Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:dzień
  • Postów:2512
0

Zastanów się nad sobą. Klasa Convert ma statyczną metodę ToInt32, a nie System::String
W Managed C++ nie pisałem. Domyślam się, że to będzie jakoś tak:

Kopiuj
Convert::ToInt32(textBox1->Text);
RE
To nie jest Managed C++.
FR
System::Int32 x=Convert::ToInt32(textBox1->Text); To jest działający zapis ;) - dzięki za wskazówki :)
Sarrus
No tak. Miałem na myśli C++/CLI
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)