Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Cannot convert 'AnsiString' to 'TStrings *'

20 Apr 2017 12:43 1173 22
  • Level 5  
    Od 5 dni uczę się programować w Delphi . Wpadłem na pomysł zrobienia niewidocznego zegara , liczącego czas pracy komputera , a następnie zapisujący ten czas do notatnika, jednak z braku doświadczenia ten mój kod jest ubogi i znalazł się problem :). Proszę o pomoc oraz wyjaśnienie.
    Code: delphi
    Log in, to see the code
  • Moderator of Programming
    Ten kod jest w Delphi?
    W życiu bym się nie domyślił :/
    Mnie to na C++ bardziej wygląda na jakiego pythona...
  • Helpful post
    Level 16  
    Uczysz się jednak C++ Buildera. Do powyższego kodu potrzebujesz również komponentu z karty Dialogs- SaveDialog.
    Linijkę -
    Code: c
    Log in, to see the code

    konwertujesz na format AnsiString lub nowszy UnicodeString:
    Code: c
    Log in, to see the code

    Zawartosc Memo1 zapisujesz wykorzystujac wlasnie SaveDialog:
    Code: c
    Log in, to see the code
  • Level 5  
    Przepraszam , macie rację to jest c++ i tak uczę się w C++ Builderze. Mam książkę o Delphi i gdy zobaczyłem podobny interfejs to od razu pomyślałem , że to Delphi. Mój błąd :D . Znacie jakiś fajny kurs np. na yt o Delphi albo jakiś fajny kompilator/builder , tylko że do Delphi ;). Jestem zielony w tym , więc wybaczcie.

    @lukagrom , bardzo mi pomogłeś dzięki :D . Ja chciałem zrobić bez dialogowy zapis , więc usunąłem tego ifa i wszystko działa jak chciałem :).

    EDIT:
    Zauważyłem teraz , że zapisuje się jeden czas , a drugi go zastępuje w "zapis.txt" , więc mam kolejne pytanie , jak zrobić , żeby czas został dodawany do tego pliku, a nie zastępowany ?
  • Level 38  
    YuTian wrote:

    EDIT:
    Zauważyłem teraz , że zapisuje się jeden czas , a drugi go zastępuje w "zapis.txt" , więc mam kolejne pytanie , jak zrobić , żeby czas został dodawany do tego pliku, a nie zastępowany ?


    W normalnym C++
    a) otwiera się plik w trybie append i zapisuje
    b) wczytuje się linie do pamięci (lista, tablica, co jest dogodne), robi swoje np dołącza linię i zapisuje

    Pierwszy przypadek jest dość wąski, drugi pozwala na wszystko. W klasycznym C++ masz pełną kontrolę nad tym, co się dzieje.

    Nie ucz się takiego zapisu z komponentu wizualnego,
    a) to jest niszowa ścieżka (w ogóle to środowisko, niegdyś wiodące na rynku, to nisza). Taki 'ideowy skrót' który miał dać ułatwienie, uważany jest po latach za antywzorzec.
    b) jesteś skazany na to co jest dane, a nie na to co chcesz.
  • Level 5  
    JacekCz wrote:
    YuTian wrote:

    EDIT:
    Zauważyłem teraz , że zapisuje się jeden czas , a drugi go zastępuje w "zapis.txt" , więc mam kolejne pytanie , jak zrobić , żeby czas został dodawany do tego pliku, a nie zastępowany ?


    W normalnym C++
    a) otwiera się plik w trybie append i zapisuje
    b) wczytuje się linie do pamięci (lista, tablica, co jest dogodne), robi swoje np dołącza linię i zapisuje

    Pierwszy przypadek jest dość wąski, drugi pozwala na wszystko. W klasycznym C++ masz pełną kontrolę nad tym, co się dzieje.

    Nie ucz się takiego zapisu z komponentu wizualnego,
    a) to jest niszowa ścieżka (w ogóle to środowisko, niegdyś wiodące na rynku, to nisza). Taki 'ideowy skrót' który miał dać ułatwienie, uważany jest po latach za antywzorzec.
    b) jesteś skazany na to co jest dane, a nie na to co chcesz.


    W takim razie jak mam się nauczyć tej lepszej opcji :). Ja uczyłem się języka C++ u pana Mirosława Zelenta i nic takiego się nie nauczyłem :D.
  • Level 5  
    A jakieś wideo-kursy , fajnie jakby było po polsku , mój angielski nie jest taki idealny , żeby czytać z takim zrozumieniem albo słuchać .
  • Helpful post
    Level 16  
    Te "niszowe "środowisko naturalnie umożliwia łączenie zapisów klasycznego C++ i niskopoziomowego C. Wystarczy, że do projektu dodasz bibliotekę -
    Code: c
    Log in, to see the code
    i swój kod możesz "ubogacić" o operację na pliku, która opisuje owa biblioteka:

    Code: c
    Log in, to see the code
  • Level 5  
    A teraz jaki jest najpopularniejszy język w programowaniu ?
  • Level 38  
    lukagrom wrote:
    Te "niszowe "środowisko naturalnie umożliwia łączenie zapisów klasycznego C++ i niskopoziomowego C. Wystarczy, że do projektu dodasz bibliotekę -
    Code: c
    Log in, to see the code
    i swój kod możesz "ubogacić" o operację na pliku, która opisuje owa biblioteka:

    Code: c
    Log in, to see the code


    Dzięki za naukę C++, zawsze czegoś się można dowiedzieć nowego.

    A bardziej kawę na ławę: właśnie podałeś niszowe headery.

    Dodano po 10 [minuty]:

    YuTian wrote:
    A teraz jaki jest najpopularniejszy język w programowaniu ?


    TO ZALEŻY

    Jakas statystyka z netu, na bazie ilości pytań SO, kwerend googla nie świadczy za bardzo o czymś istotnym (a może o ilości problemów jakie napotykają ludzie mierzoną w osoboproblemach)

    Wysokowydajne programowanie na granicy sprzętu / systemu?
    Aplikacje wizualne?
    Duże wieloletnie projekty?
    Projekciki "na kolanie" ?

    Jakem Zagłoba, i z niejednego C wino piłem, jestem głęboko przekonany, że ani C, ani C++ nie jest właściwym językiem do dydaktyki, jako pierwszy język itd... niewielu uczących go by nie pokaleczyło sobie palców 'w przemyśle'.
    Po drugie, poznając drugi, trzeci, siódmy, ale tak głęboko (nie dwa art z modnego bloga), się rozumie lepiej pierwszy. Co nie znaczy, że da się i należy aktywnie uprawiać pięć, bo się nie da.
  • Level 5  
    JacekCz wrote:
    lukagrom wrote:
    Te "niszowe "środowisko naturalnie umożliwia łączenie zapisów klasycznego C++ i niskopoziomowego C. Wystarczy, że do projektu dodasz bibliotekę -
    Code: c
    Log in, to see the code
    i swój kod możesz "ubogacić" o operację na pliku, która opisuje owa biblioteka:

    Code: c
    Log in, to see the code


    Dzięki za naukę C++, zawsze czegoś się można dowiedzieć nowego.

    A bardziej kawę na ławę: właśnie podałeś niszowe headery.


    To ja już nic nie rozumiem :D . Ja chcę po prostu dowiedzieć się :
    - gdzie mogę nauczyć się języka Delphi
    - jaki jest teraz najpopularniejszy język w programowaniu
    Czyli "niszowy sposób" to jest c++ ?
  • Level 38  
    [quote="YuTian"
    To ja już nic nie rozumiem :D . Ja chcę po prostu dowiedzieć się :
    - gdzie mogę nauczyć się języka Delphi
    - jaki jest teraz najpopularniejszy język w programowaniu
    Czyli "niszowy sposób" to jest c++ ?[/quote]

    Przeszłością (bardzo zasłużoną, to fakt) są środowiska Borlandowe / Embecadero. Dyskontują (za bardzo wysokie ceny) tych, którzy jeszcze z tego nie zeszli . Mimo dymu 'ewangelistów', to nowych projektów (nowych tzn nie wtedy, gdzie firma / zespół / posiadane zasoby wiążą ręce) ztcw nie ma. Realne rynkowe aplikacje startowane w tamtych czasach, dziś mają rosnące części w .NET.

    C++ w ich dialekcie ze standardem ma ... tak średnio wspólnego.

    Więc odpowiadając dokładniej na pytanie: "o ile C++, to nie w tym dialekcie"

    Wysoko standardowy C++ na te czasy realizuje Microsoft (dawniej mieli problemy), GCC w różnych formach.

    Jednak podtrzymuję "TO ZALEŻY" bo C/C++ od zawsze, i tak już pozostanie, ma problem z bibliotekami GUI, coś co dominuje (zajmuje większy kawałek), to nie jest dobre, a coś do jest dobre, nie dominuje. A nawet najlepsze biblioteki w GUI są .... mocno na bakier z szacunkiem do standardu.
    Więc niekonieczne dobry język do budowania ekranów.

    EDIT: Delphi ja zdecydowanie zaliczam do niszowych. Wiem, co ludzi wkręca: szybkie robienie fuch z ekranami, ale to jest bez sensu.
  • Level 5  
    Zatem jakiego teraz języka programowania się uczyć ?
    Uczyłem się C++ siedziałem w nim 4 miesiące i mi się znudził , teraz chciałem tworzyć aplikacje w oknie.
  • Level 38  
    YuTian wrote:
    Zatem jakiego teraz języka programowania się uczyć ?
    Uczyłem się C++ siedziałem w nim 4 miesiące i mi się znudził , teraz chciałem tworzyć aplikacje w oknie.


    bez urazy, jeśli rzeczywiście popracowałeś z C++ cztery miesiące, to na pewno trafiłeś na środowiska graficzne. Są przynajmniej 3-4 takie, że każde z nich bije Delphi na głowę w statystycznej ilości aplikacji AD 2017. Możesz w pełni robić oka nie porzucając języka, który jak mówisz znasz.

    Nie do końca wierzę, że C++ się 'znudził' ... ale niech zgadnę, sporo razy palce przytrzasnął? Na tym etapie większość znajduje "błędy w kompilatorach".
  • Level 5  
    JacekCz wrote:
    YuTian wrote:
    Zatem jakiego teraz języka programowania się uczyć ?
    Uczyłem się C++ siedziałem w nim 4 miesiące i mi się znudził , teraz chciałem tworzyć aplikacje w oknie.


    bez urazy, jeśli rzeczywiście popracowałeś z C++ cztery miesiące, to na pewno trafiłeś na środowiska graficzne. Są przynajmniej 3-4 takie, że każde z nich bije Delphi na głowę w statystycznej ilości aplikacji AD 2017. Możesz w pełni robić oka nie porzucając języka, który jak mówisz znasz.

    Nie do końca wierzę, że C++ się 'znudził' ... ale niech zgadnę, sporo razy palce przytrzasnął? Na tym etapie większość znajduje "błędy w kompilatorach".


    No masz rację , na przykład jak dodawałem include "iostream" to nigdy nie chciało mi go zaakceptować i musiałem używać już ukończone projekty z tą biblioteką , żeby zadziałało mi . Źle się jednak wyraziłem , miałem na myśli , że chciałem poznać jakiś nowy język. Mianowicie u Mirosława Zelenta jest C++ strukturalne oraz obiektowe, ja po oglądnięciu tego wszystkiego , zapragnąłem właśnie robić aplikacje okienkowe w C++ Builderze , jednak nie potrafiłem zrobić tego co chciałem. No i wtedy pojawił się ten problem "Cannot convert 'AnsiString' to 'TStrings *'".
  • Helpful post
    Level 16  
    Aplikację w oknie za pomocy nanoszenia komponentów na formatkę (chyba o to Ci chodzi)
    Delphi - producent Embarcadero(dawniejszy Borland) , opiera się na języku Object Pascal. wersja komercyjna masakrycznie droga, wersja Starter (dużo uboższa) bezpłatna, pod warunkiem, że projekty nie przekroczą w ciągu roku 1000$ i wtedy musisz kupić wersję komercyjnę (naturalnie nikt tego nie sprawdzi)
    C++ Builder - ta sama rodzina, przy czym językiem w projekcie jest "hybryda" C++. Oba produkty blizniacze jesli chodzi o srodowisko i cene, jednakze Delphi mialo dawniej i ma ciut wieksza popularnosc.
    Visual Studio - Microsoftu: Po zarejstrowaniu sie, mozesz sciagnac bezplatna wersje, rowniez do uzytku komercyjnego Visual Express Edition. Na ten pakiet skladaja sie produkty, ktore mozesz sciagnac naturalnie oddzielnie:
    Visual C# - język obecnie cieszący się wielką popularnością, znajdujacy zastosowanie w wiekszosci zastosowan programowanie
    Visual C++ - z C++ nie ma wiele wspolnego, jest takim łącznikiem pomiędzy C++ a C#, w terminologii znany C++/CLI
    Visual Basic - niegdyś bardzo popularny, obecnie chyba odchodzący do lamusa.
    Te 3 środowiska cechują się, że funkcjonują w środowisku .net będący oczkiem w głowie Microsoftu.
    Z innych środowisk o których nic nie wiem, a wykorzystują umieszczenia komponentów na formatce jest chyba Eclipse i pewnie coś jeszcze.
    W sieci jest mnóstwo porad, szkol, filmow o tym co na poczatek, co ma przyszlosc, jak zostac junior developerem. Ja zakladam, żeby olac wszelakie wskazowki, kalkulacje co ma przyszlosc, co da hajs, i poznawac programowanie pod katem pasji. Jak jest zabawa , to jest ciekawosc i dązenie do poznawania tematu, a tym samym efekty i doswiadczenie.
  • Level 38  
    YuTian wrote:
    Źle się jednak wyraziłem , miałem na myśli , że chciałem poznać jakiś nowy język.


    W segmencie języków "dużych", do kompilacji nawet wielkich projektów perspektywiczne są Java i C#. Do obu są GUI, w .NET chyba szybciej się uzyska działające okienkowe Hello Wolrd.

    W webie 'amatorskim' (tj ponizej korporacji) dominuje PHP (choć ja nadal zachowuję swoje odwieczne zdanie: ta wspólnota uczy kiepskiego stylu).

    Python, Groovy, Lua (używana w silnikach gier)
    Dodano po 4 [minuty]:
    lukagrom wrote:

    Visual Studio - Microsoftu: Po zarejstrowaniu sie, mozesz sciagnac bezplatna wersje, rowniez do uzytku komercyjnego Visual Express Edition. Na ten pakiet skladaja sie produkty, ktore mozesz sciagnac naturalnie oddzielnie:
    Visual C# - język obecnie cieszący się wielką popularnością, znajdujacy zastosowanie w wiekszosci zastosowan programowanie
    Visual C++ - z C++ nie ma wiele wspolnego, jest takim łącznikiem pomiędzy C++ a C#, w terminologii znany C++/CLI
    Visual Basic - niegdyś bardzo popularny, obecnie chyba odchodzący do lamusa.
    Te 3 środowiska cechują się, że funkcjonują w środowisku .net będący oczkiem w głowie Microsoftu.


    masz informacje gdzieś tak 5 lat do tyłu. Community i w jednym downloadzie zawiera wszystkie języki.

    lukagrom wrote:

    Z innych środowisk o których nic nie wiem, a wykorzystują umieszczenia komponentów na formatce jest chyba Eclipse i pewnie coś jeszcze.
    W sieci jest mnóstwo porad, szkol, filmow o tym co na poczatek, co ma przyszlosc, jak zostac junior developerem. Ja zakladam, żeby olac wszelakie wskazowki, kalkulacje co ma przyszlosc, co da hajs, i poznawac programowanie pod katem pasji. Jak jest zabawa , to jest ciekawosc i dązenie do poznawania tematu, a tym samym efekty i doswiadczenie.


    padłeś ofiarą własnej klasyfikacji: język, środowisko, IDE, mylisz to.

    EDIT: zgodzę się, jest głęboko mądre uczyć sie wg pasji i jakości. Np najszybsze dojście do płatnych fuch jest w najgorszych środowiskach.
    Powtórzę: i tak dopiero 2-3 język da głębokie zrozumienie pierwszego.

    lukagrom wrote:
    Visual C++ - z C++ nie ma wiele wspolnego, jest takim łącznikiem pomiędzy C++ a C#, w terminologii znany C++/CLI


    Nie masz pojęcia o czym mówisz.
  • Level 5  
    @lukagrom Programowanie to moja pasja , jest to dla mnie zabawa . Obecnie nie patrzę na to pod względem zarobków , ale zbierania doświadczenia.

    @JacekCz Zatem jest sens uczenia się Delphi? Czy w przyszłości Delphi mi się przyda?
  • Helpful post
    Level 38  
    YuTian wrote:
    @lukagrom Programowanie to moja pasja , jest to dla mnie zabawa . Obecnie nie patrzę na to pod względem zarobków , ale zbierania doświadczenia.

    @JacekCz Zatem jest sens uczenia się Delphi? Czy w przyszłości Delphi mi się przyda?


    Musze odpowiadać?

    Zapewniam Cię, o ile wyjdą jakieś wersje Delhi (pewnie wyjdą) znów będą nie do końca kompatybilne same ze sobą. Bo z niczym innym już nie są (np nie zlinkujesz tego z żadną większą sensowną biblioteką powstałą poza tą stajnią)
  • Level 5  
    Dobra , nie męczę już was. Dzięki za pomoc. :D .
  • Level 7  
    Znałem takie jedno fajne C. Nazywało się C64 - dobre dla "początkującego, zielonego" programisty i można też było sobie pograć...
    Na poważnie. Błąd o którym piszesz wynika z tego że TStrings to tablica wielu stringów, a ty chcesz żeby to się równało 1 stringowi.
    Ten błąd pewnie wystąpi bez względu na język programowania jaki wybierzesz.
    W Delphi to powinno być tak:
    Memo1.text := czasek;
    lub
    Memo1.Lines.Add(czasek);