Tekst Z Button1 Do Memo1 (problem)

dział ogólny

Tekst Z Button1 Do Memo1 (problem)

Nowy postprzez continue » Å›roda, 3 marca 2010, 09:42

Witam.

Chcę dodać tekst z Button1 do Memo1
Kod: Zaznacz cały
//---------------------------------------------------------------------------


void __fastcall TForm1::Button3Click(TObject *Sender)
{
Memo1->Lines->Add("DIR /S/B %SystemDrive%\*.exe >> FIleList_exe.txt");
Memo1->Lines->Add("echo Y | FOR /F "tokens=1,* delims=: " %%j in (FIleList_png.txt) do del "%%j:%%k"");
Memo1->Lines->Add("rem ---------------------------------");
Memo1->ScrollBars = ssVertical + ssHorizontal;
}
//---------------------------------------------------------------------------


i w tej linijce błąd mi wyskakuje, nie dodaje się tekst do memo i nie chce się skompilować:

Memo1->Lines->Add("echo Y | FOR /F "tokens=1,* delims=: " %%j in (FIleList_png.txt) do del "%%j:%%k"");



[BCC32 Error] Unit1.cpp(43): E2121 Function call missing )
[BCC32 Warning] Unit1.cpp(26): W8018 Assigning int to TScrollStyle



i jeszcze jedno: Czy da się dodać bardzo długi tekst z Buttona do Memo na przykład to jest: Button1
Kod: Zaznacz cały
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Add("rem --------------------------------- start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"");
}
//---------------------------------------------------------------------------


Żeby tekst w Memo1 wyglądał tak: Memo1

Kod: Zaznacz cały
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"
start "" "msgbox.vbs"


Czy trzeba zrobić to tak: Button1

Kod: Zaznacz cały
void __fastcall TForm1::Button3Click(TObject *Sender)
{

Memo1->Lines->Add("");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
Memo1->Lines->Add("start "" "msgbox.vbs"");
}
//---------------------------------------------------------------------------

Czy każdą linijkę muszę pisać pod spodem ?
Memo1->Lines->Add(" TEKST");
Memo1->Lines->Add(" TEKST");
i tak dalej...
Obrazek Obrazek ObrazekObrazek
Avatar użytkownika
continue
Bladawiec
Bladawiec
 
Posty: 11
Dołączył(a): piątek, 12 lutego 2010, 09:20
PodziÄ™kowaÅ‚ : 4
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder Rad sudio 2009
Delphi 2009
Gadu Gadu: 0
    Windows XPInternet Explorer 6

Re: Tekst Z Button1 Do Memo1 (problem)

Nowy postprzez Cyfrowy Baron » Å›roda, 3 marca 2010, 09:55

Kod: Zaznacz cały
Memo1->Lines->Add("echo Y | FOR /F "tokens=1,* delims=: " %%j in (FIleList_png.txt) do del "%%j:%%k"");


Jeżeli umieszczasz cudzysłowy wewnątrz cudzysłowów to musisz je poprzedzić ukośnikiem, czyli powinno to wyglądać tak:

Kod: Zaznacz cały
Memo1->Lines->Add("echo Y | FOR /F \"tokens=1,* delims=: \" %%j in (FIleList_png.txt) do del \"%%j:%%k\"");




Kod: Zaznacz cały
Memo1->ScrollBars = ssVertical + ssHorizontal;


To niedopuszczalne. Powinno być:

Kod: Zaznacz cały
Memo1->ScrollBars = ssBoth;




i jeszcze jedno: Czy da się dodać bardzo długi tekst z Buttona do Memo na przykład to jest: Button1
[...]


Przecież to nie jest tekst z Buttona tylko wewnątrz zdarzenia OnClick przycisku Button1. Zadaj poprawnie pytanie!



Czy każdą linijkę muszę pisać pod spodem ?
Memo1->Lines->Add(" TEKST");
Memo1->Lines->Add(" TEKST");


Możesz posłużyć się pętlą. Musisz pamiętać o zasadzie, że cudzysłowy wewnątrz cudzysłowów poprzedza się ukośnikiem.

Kod: Zaznacz cały
void __fastcall TForm1::Button3Click(TObject *Sender)
{

    Memo1->Lines->Add("");
    for(int i = 0; i <= 11; i++)
    {
     Memo1->Lines->Add("start \"\" \"msgbox.vbs\"");
    }
}
//---------------------------------------------------------------------------




Jeżeli to nie wyjaśnia wszystkich twoich wątpliwości to stawiaj poprawnie pytania, by były zrozumiałe.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
continue
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Tekst Z Button1 Do Memo1 (problem)

Nowy postprzez continue » Å›roda, 3 marca 2010, 10:14

Teraz rozumiem, wszystko działa poprawnie ale jeszcze jeden problem:
Tekst z Memo1 zapisujÄ™ tak:
Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Memo1->Lines->SaveToFile(SaveDialog1->FileName); //zapisz w podanej sciezce tresc memo
}
//---------------------------------------------------------------------------


A jak mam zapisać tekst z Memo1 wpisując jego nazwę w komponencie: TEdit, nie mogę sobie poradzić z tym, proszę o podpowiedź.
Obrazek Obrazek ObrazekObrazek
Avatar użytkownika
continue
Bladawiec
Bladawiec
 
Posty: 11
Dołączył(a): piątek, 12 lutego 2010, 09:20
PodziÄ™kowaÅ‚ : 4
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder Rad sudio 2009
Delphi 2009
Gadu Gadu: 0
    Windows XPInternet Explorer 6

Re: Tekst Z Button1 Do Memo1 (problem)

Nowy postprzez Cyfrowy Baron » Å›roda, 3 marca 2010, 10:24

Po pierwsze to nie tak jak to podałeś, lecz tak:

Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if(SaveDialog1->Execute())
{
   Memo1->Lines->SaveToFile(SaveDialog1->FileName); //zapisz w podanej sciezce tresc memo
}
}
//---------------------------------------------------------------------------


W ten sposób pojawi się okno dialogowe umożliwiające wybranie lokalizacji i nazwy dla pliku.



Co do TEdit, to jak rozumiem chcesz podać nazwę pliku w Edit1 i zapisać go pod taką nazwą. Tutaj pozostaje kwestia rozszerzenia pliku, ale wiadomo, że TMemo przechowuje dane tekstowe, więc będzie to plik tekstowy, Druga sprawa to lokalizacja pliku, jak rozumiem chcesz go zapisać w tym samym katalogu co program:

Kod: Zaznacz cały
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   String fileName = ExtractFilePath(ParamStr(0)) + Edit1->Text + ".txt";

   Memo1->Lines->SaveToFile(fileName);
}
//---------------------------------------------------------------------------

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
continue
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Tekst Z Button1 Do Memo1 (problem)

Nowy postprzez continue » Å›roda, 3 marca 2010, 10:32

Cyfrowy Baron napisał(a):Co do TEdit, to jak rozumiem chcesz podać nazwę pliku w Edit1 i zapisać go pod taką nazwą. Tutaj pozostaje kwestia rozszerzenia pliku, ale wiadomo, że TMemo przechowuje dane tekstowe, więc będzie to plik tekstowy, Druga sprawa to lokalizacja pliku, jak rozumiem chcesz go zapisać w tym samym katalogu co program:


Tak, dokładnie tak, teraz rozumiem i dziękuję za odpowiedź, inni trochę źle mi doradzili.
Problem rozwiÄ…zany.
Obrazek Obrazek ObrazekObrazek
Avatar użytkownika
continue
Bladawiec
Bladawiec
 
Posty: 11
Dołączył(a): piątek, 12 lutego 2010, 09:20
PodziÄ™kowaÅ‚ : 4
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder Rad sudio 2009
Delphi 2009
Gadu Gadu: 0
    Windows XPInternet Explorer 6


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości