Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27

Помогите с переводом

31.07.2011, 15:24. Показов 1152. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
писал все время на MS Visual Studio, а тут надо на Builder 5.0

вот код в MSVS 2010
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<iostream>
#include<fstream>
#include<io.h>
# define N 16
using namespace std;
 
void main()
{
    _finddata_t * fileinfo=new _finddata_t;
        long temp1;
        temp1=_findfirst("F:\\tikone2.jpg",fileinfo);////////////////////////////////////////////// РАЗМЕР ФАЙЛА ///
        int size;
        size=fileinfo->size;
    int temp,schufr;
    temp=size/(2*N);
    char * ch1=new char [N];
    char * ch2=new char [N];
 
    int * arr1=new int[N];
    int * arr2=new int[N];
    ifstream ifs("F:\\tikone2.jpg", ios::binary);
    FILE * a;
    a=fopen ("F:\\tikone2(temp).jpg","wb");//файл куда пишем
    for(int i=0;i<temp;i++)
    {
        ifs.read(ch1, N);
        ifs.read(ch2, N);
        for (int n=0;n<16;n++)
        {
            *(arr1+n)=(int)*(ch1+n);
            *(arr2+n)=(int)*(ch2+n);
        }
        for (int n=0;n<16;n++)
        {
            *(ch1+n)=(char)*(arr1+n);
            *(ch2+n)=(char)*(arr2+n);
        }
 
 
        fwrite(ch1,sizeof(char),N,a);
        fwrite(ch2,sizeof(char),N,a);
    }
    delete [] ch1;
    delete [] ch2;
    delete [] arr1;
    delete [] arr2;
 
    char * ch3=new char [size%(2*N)];
    ifs.read(ch1,size%(2*N));
    fclose(a);
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2011, 15:24
Ответы с готовыми решениями:

Ошибка с переводом StrToFloat
Подскажите, пожалуйста, в чем здесь ошибка void __fastcall TForm1::Button1Click(TObject *Sender) { float a; ...

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

Подскажите с переводом с делфи в плюсы
Плииииз((unit Main; interface uses WinProcs,Controls,Forms,ExtCtrls,Classes,Graphics; const maxIndex=100; {...

13
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
31.07.2011, 22:05
Объясни, какая задача у тебя стоит. Это копирование, scale изображения?
0
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
05.08.2011, 18:58  [ТС]
Цитата Сообщение от Maluda Посмотреть сообщение
Объясни, какая задача у тебя стоит. Это копирование, scale изображения?
вообще задача шифровать файл через бинар
но здесь цикл шифровки пропущен
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
05.08.2011, 20:55
Цитата Сообщение от Tik Посмотреть сообщение
вообще задача шифровать файл через бинар
Набери в поиске "шифрование", на форуме полно материала на эту тему.

https://www.cyberforum.ru/cpp-... 21806.html


Цитата Сообщение от Tik Посмотреть сообщение
писал все время на MS Visual Studio, а тут надо на Builder 5.0
С++ на Билдере ничем не отличается от С++ на Visual Studio, за исключением ряда тонкостей,
которых я в твоём примере не увидел. Всё должно нормально пойти и на Билдере.
0
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
08.08.2011, 20:33  [ТС]
матерится в первую очередь на это
C++
1
2
3
        _finddata_t * fileinfo=new _finddata_t;
                long temp1;
                temp1=_findfirst("F:\\tikone2.jpg",fileinfo);
просто я в билдере первый раз в жизни пишу..

в принципе надо чтобы файл можно было выбрать через "обзор"
но мне нужно знать размер файла, а я не знаю как это сделать через "обзор"
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
09.08.2011, 07:11
Цитата Сообщение от Tik Посмотреть сообщение
в принципе надо чтобы файл можно было выбрать через "обзор"
но мне нужно знать размер файла, а я не знаю как это сделать через "обзор"
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (OpenDialog1->Execute())
 {
  int fhandle=FileOpen(OpenDialog1->FileName, fmOpenRead)
  int fsize=FileSeek(fhandle,0,2); // тут размер
  /* 
   дальше чтение FileRead
   и в конце закрыть FileClose
  */
 }
}
1
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
09.08.2011, 12:02  [ТС]
если не сложно можете объяснить
int fhandle=FileOpen(OpenDialog1->FileName, fmOpenRead)
int fsize=FileSeek(fhandle,0,2); // тут размер

если я не ошибаюсь то FileRead читает сразу весь файл
а если файл больной то это проблематично
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
09.08.2011, 12:36
fmOpenRead - открыть для чтения
FileSeek(fhandle,0,2) - поставить указатель на 0 байтов от конца, таким образом получим размер
FileRead читает столько, сколько вам надо
C++
1
FileRead(int Handle, void *Buffer, unsigned Count);
хэндл файла, буфер под данные, сколько байт считать
1
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
10.08.2011, 13:47  [ТС]
оооо спасибо)))
на днях буду доделывать отпишусь)
0
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
16.08.2011, 16:35  [ТС]
Цитата Сообщение от mimicria Посмотреть сообщение
fmOpenRead - открыть для чтения
FileSeek(fhandle,0,2) - поставить указатель на 0 байтов от конца, таким образом получим размер
FileRead читает столько, сколько вам надо
C++
1
FileRead(int Handle, void *Buffer, unsigned Count);
хэндл файла, буфер под данные, сколько байт считать
выдает ошибку в int fsize=FileSeek(fhandle,0,2);
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
16.08.2011, 17:12
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Tik Посмотреть сообщение
выдает ошибку в int fsize=FileSeek(fhandle,0,2);
Текст ошибки приводить не надо, мы телепаты
И свой исходник тоже не надо выкладывать
3
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
17.08.2011, 14:22  [ТС]
Цитата Сообщение от mimicria Посмотреть сообщение
Текст ошибки приводить не надо, мы телепаты
И свой исходник тоже не надо выкладывать
ой сори
чуть позже пришлю все

Добавлено через 49 минут
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
17.08.2011, 14:41
Точку с запятой забыли после строчки с FileOpen
1
3 / 3 / 0
Регистрация: 31.07.2011
Сообщений: 27
17.08.2011, 21:22  [ТС]
Цитата Сообщение от mimicria Посмотреть сообщение
Точку с запятой забыли после строчки с FileOpen
ой
тогда извиняюсь что побеспокоил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2011, 21:22
Помогаю со студенческими работами здесь

Импорт таблицы английских слов с переводом из эксель
Ребят, подскажите пожалуйста с кодом проги в C++ Builder, сам в С++ не спец, а набросать что то надо. Задача простая: в экселе есть большая...

Помогите с переводом!
Пожалуйста, помогите перевести &quot;run sensitivities&quot;! Контекст следующий: This chapter shows how to build a network, run sensitivities...

Помогите с переводом шаблона
Помогите плиз в переводом на русский. Я пробовал с XML там поменять никак не получается, символы какие-то получаются( , вот прочитал что...

переводом бд
Есть база данных Acces ее нужно перевести в формат firebird. Проблема заключается в том когда количество записей в базе 23000 или больше...

Помощь с переводом
Приветствую всех посетителей данного форума. Если кому не сложно помогите немного переделать задачу для С++, условие звучит так: &quot;Дано...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru