Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330

Перевод кода из С++ в Visual Basic 6

27.01.2016, 21:27. Показов 2595. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Интересует перевод такого момента:
читаю файл до конца:
QBasic/QuickBASIC
1
2
        char buffer[500];
        fscanf(fp, "%s[^ ]", buffer);
хотелось бы узнать как можно перевести fscanf...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2016, 21:27
Ответы с готовыми решениями:

Перевод кода из паскаля в Visual Basic
помогите перевести в Visual Basic пожалуйста program Proc47; var A,B,C,D,F,E,G,H:integer; p,q:integer; function...

Перевод кода с Visual Basic на паскаль под графический интерфейс
Атом. Изобразить модель атома произвольного химического элемента: ядро и электроны, вращающиеся по своим орбитам. Распределение электронов...

Перевод из C++ в Visual Basic
Здравствуйте. Прошу вашей помощи. #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; void main() {...

29
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.01.2016, 19:37
Студворк — интернет-сервис помощи студентам
Пусть сам,(само)
0
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
29.01.2016, 19:50  [ТС]
Dragokas, спасибо. С типами данных я разобрался, а сейчас файл не могу построчно до конца прочитать.
0
Заблокирован
29.01.2016, 21:11
Цитата Сообщение от Aleator Посмотреть сообщение
файл не могу построчно до конца прочитать.
Возможно файл с причудами (символ chr(26), к примеру, в 1000-й строке).
1
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
29.01.2016, 21:20  [ТС]
Я удалил несколько строчек в начале файла, количество прочитанных строк не изменилось. Думаю, не в файле дело, вернее не в его символах. Возможно, VB так реагирует на объём? Погуглил эту тему, ничего не нашёл, кроме одного упоминания о такой же проблеме, без решения...
0
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
29.01.2016, 21:32  [ТС]
Файл прилагаю. Может кто-нибудь проверит...
Вложения
Тип файла: 7z input_dataset_1000.7z (867.9 Кб, 4 просмотров)
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.01.2016, 21:52
Говорил же используй бинарный режим. В текстовом режиме случаются глюки и по-хуже... можно словить Exception.
Разбиение всей инфы из переменной в массив строк по разделителю 0x0D, 0x0A делается всего в одну строку:

Visual Basic
1
2
3
dim arr() as string
'...
arr = Split(s, vbCrLf)
Цитата Сообщение от Shersh Посмотреть сообщение
Возможно файл с причудами (символ chr(26), к примеру, в 1000-й строке).
Скорее всего так и есть:
Кликните здесь для просмотра всего текста
Visual Basic
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
Option Explicit
 
Dim ff      As Integer
 
Private Sub Form_Load()
    Dim sFile   As String
    Dim i       As Long
    
    sFile = App.Path & "\example.txt"
    
    For i = 0 To 255
        Write2Lines sFile, CByte(i)
        TestLines sFile, CByte(i)
    Next
    Unload Me
End Sub
 
Sub Write2Lines(sFile As String, dirty_char As Byte)
    ff = FreeFile()
    Open sFile For Output As #ff
        Print #ff, "Line1" & Chr$(dirty_char)
        Print #ff, "Line2"
    Close #ff
End Sub
 
Sub TestLines(sFile As String, dirty_char As Byte)
    Dim i As Long
    Dim buf As String
    ff = FreeFile()
    Open sFile For Input As #ff
    Do Until EOF(ff)
        Line Input #ff, buf
        i = i + 1
    Loop
    Close #ff
    If i <> 2 Then
        Debug.Print dirty_char; " -> "; i; " lines."
    End If
End Sub
Изображения
 
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.01.2016, 21:58
Цитата Сообщение от Aleator Посмотреть сообщение
Файл прилагаю. Может кто-нибудь проверит...
Что я делаю не так?
Миниатюры
Перевод кода из С++ в Visual Basic 6  
1
Заблокирован
29.01.2016, 22:00
Проверил файл двумя способами - всё прочиталось до конца (360000 строк) -
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub zxc()
Dim s$, a$(), i&
Open "c:\Downloads\input_dataset_1000.txt" For Input As 1
While Not EOF(1)
Line Input #1, s
i = i + 1
Wend
Close 1
 
Open "c:\Downloads\input_dataset_1000.txt" For Binary As 1
s = String$(LOF(1), vbNullChar)
Get #1, , s
Close 1
a = Split(s, vbCrLf)
End Sub
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.01.2016, 00:00
Еще один момент:
Цитата Сообщение от Dragokas Посмотреть сообщение
Visual Basic
1
last_stock_market <> i
Приравнивать целочисленный тип с дробным может быть не самой лучшей идеей.
Я вот точно не знаю, как бейсик это делает - он сперва приводит оба операнда к целому типу или к дробному.
Если второе, то могут быть проблемы, что на вид 2 одинаковых числа не будут равными.
Тут лучше наши математики подскажут.
Т.о. пока лучше явно указать:

clng(last_stock_market) <> i Or clng(last_time_transaction) <> transaction_time_total

Лучше конечно вообще без дробной, но не зная целиком задачи, трудно советовать.

Не по теме:


Имхо, следующий раз все же лучше создать новую тему.
А то совсем неудобно, если вдруг хочешь дополнить ответ по прошлой задаче.

1
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
30.01.2016, 17:09  [ТС]
Ещё раз, огромное спасибо Dragokas и Shersh.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2016, 17:09
Помогаю со студенческими работами здесь

Перевод в Visual Basic
Решить нелинейное уравнение методом простых итераций Ln(x)-x+1.8 = 0 На отрезке По этому уравнению есть программка в Pascal ...

Перевод программы с С++ на Visual Basic
Ребят, помогите пожалуйста имеется прога, написанная на С++, необходимо перевести ее на бейсик. мозгов не хватает допереть это :D Оба...

Перевод из Visual Basic в qBasic
Sub My() Dim i As Integer, summ As Single, t As Single Dim x As Integer, f As Boolean t = CSng(InputBox(&quot;vvedite&quot;)) summ = 0 i...

Перевод программы C++ -> Visual Basic
Друзья, помогите пож. перевести код с языка C++ в Visual Basic, в котором я не очень хорошо разбираюсь. №1. Составить блок-схему и...

Перевод из Pascal в Visual Basic
Добрый день! Я пыталась перевести код программы из Pascal в Visual Basic. Дело в том, что курсовую надо сдавать в Visual Basic, а я его...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru