Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 12:54   #1
Damassk
 
Регистрация: 21.11.2011
Сообщений: 4
По умолчанию Проблема с переводом проги на С++ из Delphi

Вот есть программа. На делфи она работает нормально и без проблем, а вот из-за незнания С++ очень сложно перетащить ее туда. Впрочем я попытался кое-что сделать, но она не работает. Я надеюсь сможет кто помочь с этим.

Если нужна задача, то она вот: В текстовом файле имеются две строки. Составить строку из символов, которые входят в исходные строки, и поместить строку во второй файл. (Суть: файл задан изначально в 2 строки с буквами латинского алфавита, все повторяющиеся буквы должны удаляться из строк, а не повторяющиеся записываться в одну строку)

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if OpenDialog1.Execute then
  memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
var s:string;
    i: integer;
    j: integer;
    c: char;
    f: textfile;
begin
 s:='';
 for i:=0 to memo1.Lines.Count - 1 do
  s:=s+memo1.Lines[i];
  i:=1;
while i<length(s) do
 begin
  c:=s[i];
  for j:=length(s) downto i+1 do
  if s[j]=c then delete(s,j,1);
  i:=i+1;
 end;
 memo2.Text:=s;
 assignFile(f,'2.txt');
 rewrite(f);
  write(f,s);
 closeFile(f);
 ShowMessage('Данные успешно записаны в файл 2.txt')
end;


Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TOpenDialog *od = new TOpenDialog(this);
od->Filter = "Текстовые файлы|*.txt";
if (od->Execute()) {
  Memo1->Lines->LoadFromFile(od->FileName);
}
delete od;
od = NULL;
};



//---------------------------------------------------------------------------


void __fastcall TForm1::Button2Click(TObject *Sender)
{ int j,i,k,len; char c ; AnsiString S;
 k=Memo1->Lines->Count;
 Memo2->Clear();
 for (i=0; i<k; i++) {
  S=Memo1->Lines->StringS[i];
	 while ( i<S.Length() ) {
  c=S[i];
  for (j:=S.Length(), i+1, j--) {
  if (s[j]=c) {  S.Delete(j, 1);
  i++;
	  }
  }
 end;
 Memo2.Lines->StringS[];
	}
Damassk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с переводом Zalex Microsoft Office Word 1 14.07.2011 18:23
проблема с переводом...как всегда obsession Общие вопросы Delphi 4 21.05.2011 16:46
Проблема с переводом типов данных Саня_ Общие вопросы Delphi 2 05.03.2011 15:36
Проблема с переводом из char в число alenka_ej Помощь студентам 0 08.05.2010 13:47
Проблема с переводом в десятичную СС в Турбо Паскале Moneo Помощь студентам 6 10.02.2010 17:59