Как сохранять файлы в Linux?

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Как сохранять файлы в Linux?

Сообщение Star Cat » 26.02.2008 (Вт) 12:34

В Linux файлы открываются, но не сохраняются, даже на дисках FAT32. Я проверил два способа, но они не работают. Исходник прилагается.
Помогите! Думаю, эта проблема касается всех.
Последний раз редактировалось Star Cat 27.02.2008 (Ср) 12:25, всего редактировалось 1 раз.
Star Cat

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 26.02.2008 (Вт) 20:12

Почему-то прилагается exe, а не исходник. И при чем тут линь?
Лучший способ понять что-то самому — объяснить это другому.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 26.02.2008 (Вт) 22:10

А где же все-таки исходники? И при чем здесь файловая система и Линукс?

Если файл запускается под WINE'ом, то файловая система не играет никакой роли, т.к. прямого доступа к ней все равно не получить. И текстовый файл по нажатию на "способ №1" у меня нормально создается в ASP Linux 11.2, WINE 0.9.27, а "способ 2" не работает и в виндовсе (Win98 SE).

А вообще, писать под Линукс на VB6, ИМХО неблагодарная, почти безнадежная затея. Уж лучше на VB.NET (или C#) + MONO :roll:
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.02.2008 (Ср) 10:29

Star Cat
а самый лучший совет - учи С
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 27.02.2008 (Ср) 12:23

VVitafresh писал(а):А где же все-таки исходники? И при чем здесь файловая система и Линукс?


Вот теперь точно исходник. Извиняюсь.
Скоро во всех школах России установят Линукс. http://linux.armd.ru/ Надо заранее подготовится.

VVitafresh писал(а):А вообще, писать под Линукс на VB6, ИМХО неблагодарная, почти безнадежная затея. Уж лучше на VB.NET (или C#) + MONO :roll:


Как к VB.NET 2008 подключить MONO? Как его (MONO) вообще использовать?

VB6 в Линукс вполне работает, если без наворотов. Например, работает стандартное окно Open/Save comdlg32.dll. Файлы открываются, но не сохраняются!
Вложения
NewFile.rar
Скопируйте в папку NewFile файлы msvbvm60.dll и scrrnru.dll
(5.1 Кб) Скачиваний: 201
Star Cat

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 27.02.2008 (Ср) 12:29

Денис писал(а):Star Cat
а самый лучший совет - учи С


Уже поздно переучиваться.
Star Cat

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.02.2008 (Ср) 13:00

1. Как ты запускаешь свой файл в Линуксе
2. Не нужно везде в коде лепить On Error Resume Next, как в этом случае ты собираешься искать ошибки?
3. Твой код НЕ работает не только в Линуксе но и Виндовсе:
Код: Выделить всё
Private Sub Command2_Click()
    On Error Resume Next
    Dim FileSystemObject As New Scripting.FileSystemObject
    Dim Men
    Set FileSystemObject = CreateObject("scripting.filesystemobject")
    On Error Resume Next
    FileSystemObject.DeleteFile App.Path & "\NewFile2.txt", True
    Set Men = FileSystemObject.OpenTextFile(App.Path & "\NewFile2.txt", 8, True)
    Men.WriteLine ("Text")
    Men.Close
    Set FileSystemObject = Nothing
    Set Men = Nothing
End Sub

4. Этот код работает как в Линуксе так и в Виндовсе
Код: Выделить всё
Sub CreateAfile()
  Dim fso As FileSystemObject
  Dim a
  Dim sFileName As String
  sFileName = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") & "newfile.txt"
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set a = fso.CreateTextFile(sFileName, True)
  a.WriteLine ("Type text here")
  a.Close
End Sub

5.
Как его (MONO) вообще использовать?
MONO


Star Cat, не обижайся, но по-моему тебе в этот раздел рановато.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 27.02.2008 (Ср) 13:55

VVitafresh писал(а):Star Cat, не обижайся, но по-моему тебе в этот раздел рановато.

За код спасибо, а вот на сайте я уже был. Даже читал на русском, (скачай мою прогу Переводчик web страниц 24Кб), но это мне не помогло.
Star Cat

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.02.2008 (Ср) 14:24

Star Cat писал(а):Даже читал на русском, (скачай мою прогу Переводчик web страниц 24Кб), но это мне не помогло.

Спасибо, но я и на английском неплохо читаю :)

Ну а насчет моно все очень просто.
1. Пишеш на C# (VB.NET) программу, компилишь в Visual Studio.
2. На линуксе устанавливаешь подходящий для твоей версии Линукс (ты не сказал какой у тебя дистрибутив) бинарник MONO: Download MONO
3. Запускаешь в линуске свою программу:
Код: Выделить всё
mono program.exe


И, если тебе повезет, то программа запустится и будет работать. А если нет, то полезно почитать: Guide: Porting Winforms Applications

... или искать другой ЯП, Python или JAVA к примеру.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 27.02.2008 (Ср) 14:55

VVitafresh писал(а):3. Запускаешь в линуске свою программу:
Код: Выделить всё
mono program.exe

Так просто! И ни каких дополнительных библиотек не надо?
Star Cat

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 27.02.2008 (Ср) 15:07

Star Cat писал(а):Так просто! И ни каких дополнительных библиотек не надо?

Когда ты устанавливаешь MONO, то как бы ставишь "framework под linux" со всеми вытекающими.

Однако, не стоит забывать, что в MONO пока не обеспечена 100% реализация всех классов (да и вряд ли когда-либо будет). На данный момент полностью реализован .NET Framework: 1.0, 1.1 и большинство из 2.0. При разработке ПО нужно учитывать также различия платформ (регистрозависимость имен в Линуксе, прямой слеш в путях, отсутствие логических дисков и т.п.).

Ну и непосредственный вызов WinAPI, естественно, работать не будет.

P.S. У меня у самого практики в этом вопросе пока маловато. Я только начал изучать C# и написал всего пару консольных утилиток, которые успешно работают в Linux'е и в Windows. Что-то серьезное с использованием WinForms не писал. Хотя пробные формочки с текстбоксами и разными кнопочками нормально запускаются в Линуксе. Так что нужно только пробовать...
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 29.02.2008 (Пт) 12:57

VVitafresh писал(а):Ну и непосредственный вызов WinAPI, естественно, работать не будет.

Некоторые работают - стандартное окно Open/Save comdlg32.dll, как я писал выше.

Проверь, пожалуйста, этот исходник. Он определяет серийный номер винчестера. Я скопировал в одну папку все *.dll и *.ocx из папки System32 – не помогло. Может в нем ошибка.
Вложения
Kod_Diska.rar
(10.23 Кб) Скачиваний: 221
Star Cat

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 29.02.2008 (Пт) 16:07

Star Cat писал(а):
VVitafresh писал(а):Ну и непосредственный вызов WinAPI, естественно, работать не будет.

Некоторые работают - стандартное окно Open/Save comdlg32.dll, как я писал выше.

В предыдущем сообщении я говорил о программах, написанных на C# или VB.NET, которые запускаются под mono. В них непосредственный вызов WinAPI (P/Invoke) работать не будет, т.к. в Linux'e как ни странно нет WinAPI :)

StarCat, уточни КАК ты запускаешь свои программы, написанные на VB6, под Linux (WINE, Crossover, что-то другое ?), иначе получится беспредметный разговор.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 04.03.2008 (Вт) 13:43

VVitafresh писал(а):StarCat, уточни КАК ты запускаешь свои программы, написанные на VB6, под Linux (WINE, Crossover, что-то другое ?), иначе получится беспредметный разговор.


Запускаю в Linux XP Desktop, через WINE.
Посмотри эту ссылку, там исходник для определения серийного номера Hdd под Линуксом, кажется на С#.
Star Cat

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 04.03.2008 (Вт) 15:06

Нет, те исходники на С (не C#)

Я вообще сомневаюсь, что из-под WINE'а удастся получить какие-то РЕАЛЬНЫЕ параметры жесткого диска, там даже тип реальной файловой системы не определить. А серийный номер HDD можно задать ЛЮБЫМ через утилиту winecfg.

Лучше воспользоваться обычной линуксовой командой:
Код: Выделить всё
hdparm -I /dev/sda

При желании результат вывести в текстовый файл. Но это уже к теме VB6 отношения не имеет :)
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 05.03.2008 (Ср) 11:58

VVitafresh писал(а):А серийный номер HDD можно задать ЛЮБЫМ через утилиту winecfg.

ОЧЕНЬ ПЛОХО! Значить, платные программы и Линукс вещи не совместимые.
Спасибо за помощь! Было интересно с тобой поболтать.
Star Cat

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 11.04.2008 (Пт) 21:59

Star Cat писал(а):Скоро во всех школах России установят Линукс. http://linux.armd.ru/ Надо заранее подготовится.


Не очень скоро. Проблем у них много.

ОЧЕНЬ ПЛОХО! Значить, платные программы и Линукс вещи не совместимые.


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

Ещё один варант - платная поддержка пользователей и платное сопровождение уже отгруженной программы (доработки в процессе эксплуатации).

Вариант Shareware программ под Линукс большинством воспринимается в штыки. Тем более, если ты используешь открытые исходники в качестве отправной точки, сокрытие своих исходников незаконно. А без сокрытия Shareware невозможно.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 12.04.2008 (Сб) 12:25

Alexanbar писал(а):Не очень скоро. Проблем у них много.

Это правда. Школы получили лицензионные Windows до 2011 года.

Вариант Shareware программ под Линукс большинством воспринимается в штыки. Тем более, если ты используешь открытые исходники в качестве отправной точки, сокрытие своих исходников незаконно. А без сокрытия Shareware невозможно.

Штыки рано или поздно сломаются. Я никогда не использую открытые исходники. Ни чего мне за это не будет.
Если учителя скинутся и заплатят мне 10.000 рублей, то я сделаю программу бесплатной. 3.000 мне уже обещали.
Star Cat

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 12.04.2008 (Сб) 13:45

Star Cat писал(а):
Alexanbar писал(а):Не очень скоро. Проблем у них много.

Это правда. Школы получили лицензионные Windows до 2011 года.


Кроме СБППО есть проект по созданию школьного дистрибутива Линукс. Сейчас идет тестирование в трех пилотных регионах. В процессе тестирования уже выявлены некоторые проблемы.
ОДна из них - старое железо. Другая - дефицит нормального прикладного ПО. В школах основная надежда не на Линукс, а на то, что после Первой помощи будет и вторая. Но это очень проблематично в смысле денег.

Вариант Shareware программ под Линукс большинством воспринимается в штыки. Тем более, если ты используешь открытые исходники в качестве отправной точки, сокрытие своих исходников незаконно. А без сокрытия Shareware невозможно.

Штыки рано или поздно сломаются. Я никогда не использую открытые исходники. Ни чего мне за это не будет.
Если учителя скинутся и заплатят мне 10.000 рублей, то я сделаю программу бесплатной. 3.000 мне уже обещали.


Собственно, америку не открываем - заказная работа.

Star Cat
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 73
Зарегистрирован: 25.07.2003 (Пт) 15:51
Откуда: От туда

Сообщение Star Cat » 13.04.2008 (Вс) 10:54

Alexanbar писал(а):В процессе тестирования уже выявлены некоторые проблемы. ОДна из них - старое железо.

Есть много сельских школ, в которых стоят 1-2 старых компьютера. В основном мою программу покупают именно эти школы.
Star Cat


Вернуться в Раздел для Профессионалов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList