Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330

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

27.01.2016, 21:27. Показов 2569. Ответов 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 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
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
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru