Usuwanie początku lini podczas wczytywania pliku do pola memo?

0

zapisuje do pliku tak


String tex ="tekst ";
for(int i=0;i<1000;i++)
{
  tex = Memo1->Lines->Strings[i];
  Memo1->Lines->Strings[i] = "tekst "+tex;
  Memo1->Lines->SaveToFile("plik.txt");
}
0

Ja zapisuje inaczej :(

Jeżeli oczekujesz pomocy, opisz dokładnie swój problem, daj sensowny temat wątku i zlikwiduj prefiks w temacie...

0

chce wpisywać do pola edit strony które mają być zablokowane używając pliku host. nie chce edytować pliku tylko chce aby przy włączeniu programu wczytywał same strony i po dodaniu lub usunięciu stron z listy zapisać całość do plik host. wiem jak zapisać ale nie wiem jak zrobić aby po wczytaniu do pola memo usunęło początek linii czyli adres ip. przykład tak zapisuje do pliku:
74.125.39.104 http://www.nk.pl
tak pokazuje w memo:
http://www.nk.pl

0

Jeżeli linia w memo ma wyglądać tak:

http://www.nk.pl

a w pliku tak:

74.125.39.104 http://www.nk.pl

to jaki masz z tym problem? Nie zapisuj i odczytuj listy metodami komponentu, tylko napisz swoje, bo się pogubisz i nic dobrego z tego nie wyjdzie; Jeżeli na liście masz przechowywać tylko adres witryny bez numeru IP, to gdzieś te Numery IP musisz gromadzić; Przy zapisie listy musisz zbudować linię tak, by najpierw widniał numer IP, później znak spacji i adres witryny; Ale gdzieś ten numer IP musisz mieć - np. w tablicy; Najlepiej by było stworzyć swój komponent, który będzie zawierał prywatną i niewidoczną tablicę dynamiczną, w której odpowiednio będziesz dodawał i usuwał numery IP; Później trzeba napisać swoje metody SaveToFile i LoadFromFile, które będą zastępowały standardowe metody komponentu i nie będziesz musiał kombinować; Przy dodawaniu linii do komponentu będziesz sobie odpowiednio dodawał adres witryny do linii Memo1 i numer IP do tablicy, przy usuwaniu będziesz usuwał linię z Memo1 i numer IP z tablicy;

Jednak polecam zapisywanie i odczytywanie listy oprzeć na ręcznym otwarciu pliku; Jeżeli będziesz zapisywał listę do pliku to po kolei będziesz do każdej numeru IP (z tablicy) dodawał spację i adres witryny (z Memo1->Lines->Strings); Zaś przy odczycie musisz rozdzielić łańuch na numer IP (który dodasz do tablicy) i adres strony (który dodasz do Memo1->Lines->Strings);

Jest co najmniej kilka sposobów na rozwiązanie Twojego problemu, ale nie wiem na ile znasz się na programowaniu w C++; Jeżeli umiałbyś napisać nowy komponent bazując na TMemo, to sprawa będzie bardzo prosta i bardziej profesjonalna, niż bawienie się w pisanie nowych funkcji w programie, które tak naprawdę lepiej by było napisać w ciele komponentu;

Polecam najpierw zastanowić się nad tym solidnie, a dopiero później zadawać pytania, bo widzę, że jeszcze sam nie bardzo wiesz co chcesz osiągnąć;

Pozdrawiam;

0

proszę o poprawienie gdzie zrobiłem błąd i nie wiem jak sprawdzić długość stringa


#include <iostream>
#include <string>
using namespace std;

void __fastcall TForm1::Button4Click(TObject *Sender)
{
  for(int i =0; i<Memo1->Lines->Count; i++)
  {
    String tex = Memo1->Lines->Strings[i];
    String us (tex, 13, 200);                           // tu błąd jest
    Memo1->Lines->Strings[i] = us;
  }
}

wyskakuje błąd

[BCC32 Error] Unit1.cpp(97): E2285 Could not find a match for 'UnicodeString::UnicodeString(UnicodeString,int,int)'
Full parser context
Unit1.cpp(93): parsing: void _fastcall TForm1::Button4Click(TObject *)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0