Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Программирование »   С/C++ »   Трансляция из Delphi в С++ Builder
RSS

Трансляция из Delphi в С++ Builder

Выручайте!

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: wsxПечать
 
Jaxx
Участник Проекта
Дикий прапор
Jaxx
Откуда: Belarus
Всего сообщений: 173
Рейтинг пользователя: 10





Дата регистрации на форуме:
13 мая 2005
Очень надо срочно перегнать небольшой фрагмент Delphi-кода в С++ Builder. Код следующий:

procedure TForm1.Button1Click(Sender: TObject);
var
f:textfile;
i,r:byte;
st:string;
begin
randomize;
i:=0;
assignfile(f,'index.txt');
reset(f);
Memo1.Lines.Clear;
Memo2.Lines.Clear;
Memo3.Lines.Clear;
st:='';
r:=1+(random(73));
Label2.Caption:=IntToStr®;
for i:=1 to ((r-1)*3) do readln(f,st);
readln(f,st);
Memo1.Lines.Text:=st;
st:='';
readln(f,st);
Memo2.Lines.Text:=st;
st:='';
readln(f,st);
Memo3.Lines.Text:=st;
st:='';
i:=0;
end;
end.
wsx
Модератор раздела
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
ну ты код чтоль Нормально напиши! с отступами и прочим! А я уж попытаюсь вспомнить Builder...

Читать не возможно!
wsx
Модератор раздела
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
Да и менять ту не чего!


Вот смари!


MemoX->Lines->Text='Text';

Вроде чё то такое! не помню я, давно это было и не правдой...

Jaxx
Участник Проекта
Дикий прапор
Jaxx
Откуда: Belarus
Всего сообщений: 173
Рейтинг пользователя: 10





Дата регистрации на форуме:
13 мая 2005
Да я с отступами писал, а тема все равно по левой стенке пошла. А мне неправду не надо. Мы люди честные. Значит, пойдем пошагово.
1. Какой аналог в С++ у: assignfile(f,'index.txt');
2. Какой аналог: reset(f);
3. Какой аналог: readln(f,st);
А штука с MemoX->Lines-> ... не пойдет, мне же каждое поле Memo нужно заполнять строкой из текстового файла.
wsx
Модератор раздела
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
Ну бля! я тебе про синтаксис!! А ты про баранов....
Ладно! нажимай F1, там пиши assignfile...


Кстати, помоему там работает Assignfile...Просто ты не верно оформляешь....

Да и reset(f); - должен работать !

А вот насчёт readln,a не знаю...

Эээ..кстати :))


Memo1.Lines.LoadFromFile('file');

на си будет типа того же:

Memo1->Lines->LoadFromFile('File');


гыы..
Jaxx
Участник Проекта
Дикий прапор
Jaxx
Откуда: Belarus
Всего сообщений: 173
Рейтинг пользователя: 10





Дата регистрации на форуме:
13 мая 2005
Гражданин, не ругайтесь матом! Ну не знаю я С, вообще не знаю...Первый раз сегодня увидел. Я хелп не устанавливал, файлы были поврежденные.
wsx
Модератор раздела
Юниксойд, сетевик
wsx
Откуда: Казань
Всего сообщений: 1074
Рейтинг пользователя: 28

Репутация пользователя: 1




Дата регистрации на форуме:
14 янв. 2005
Ну насччёт мата, это он у меня на автомате уже :(((


Я и не ругаюсь.. Но Хелп - нуно устанавливать! :))
Jaxx
Участник Проекта
Дикий прапор
Jaxx
Откуда: Belarus
Всего сообщений: 173
Рейтинг пользователя: 10





Дата регистрации на форуме:
13 мая 2005
Я знаю, что хелп - это есть хорошо. Но я ж кажу, что файлы повреждены, пришлось ставить как есть. Теперь говорит, что не хватает файла bcb6.hlp. Где его взять-то, а? Насчет reset выяснил, что просто в процедуре чтения файла указывается атрибут r, а вот про само чтение нифига не нашел.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Jaxx Для того, чтобы ничего не съезжало, пользуйся тегом code (см. ссылку BoardCode в форме отправки сообщений), он сохраняет (по крайней мере, должен) все пробелы.
По поводу переноса: вообще, Borland C Builer (по крайней мере последние версии) может использовать DCU-файлы от Delphi.
wsx Употреблять мат без наличия обоснованной необходимости (а ее в данный момент не наблюдалось) действительно не советую. Как говорится, фильтруй базар.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
По поводу функций: их прямых эквивалентов в C нет, вместо них используются функции fopen, fread, fclose, у которых несколько иные параметры.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Jaxx
Участник Проекта
Дикий прапор
Jaxx
Откуда: Belarus
Всего сообщений: 173
Рейтинг пользователя: 10





Дата регистрации на форуме:
13 мая 2005
Ну как файл прочитать, я разобрался. Написал вот что:


void __fastcall TForm1::Button1Click(TObject *Sender)

{

   file f;  

  unsigned char i,r;  

  char* st;  

Randomize;  

i=0;  

r=1+rand()%73;  

Label2->Caption=r;  

Memo1->Lines->Clear();  

Memo2->Lines->Clear();  

Memo3->Lines->Clear();  

st="";  

std::ifstream ist("Index.txt");  

Memo1->Lines->LoadFromFile("Index.txt");  

}


А как прочитать не все подряд, а определенные строки?
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Если уж ты пошел по такому пути, то предлагаю поступить следующим образом: читать весь файл, а потом удалять ненужное. Т.е. что-то вроде Memo1->Lines->Delete(номер). Либо все же разбираться с функциями fopen, fwrite, fread, fclose....

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Nerd
Новичок

Nerd
Откуда: Cherepovets
Всего сообщений: 3
Рейтинг пользователя: 2





Дата регистрации на форуме:
20 мар. 2006
поясню

объявление:


FILE *<поток>;

FILE *f;



Открытие


fopen();

<поток> = fopen("путь к файлу", "тип")


тип указывется, как должен использоваться файл
r - открыть для чтения;
w - для записи;
w+ - для чтения и записи;
и т.д

Ввод и вывод данных в файл


getc();

putch();


соответсвенно посимвольно....


fgets();

fputs();


соответсвенно построчно


getw();

putw();


для целых

---
// наСИльник и дельфинист
<<Назад  Вперед>>Модератор: wsxПечать
Объединенный Открытый Проект »   Программирование »   С/C++ »   Трансляция из Delphi в С++ Builder
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0419. Количество выполненных запросов: 18, время выполнения запросов 0.0291