Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.12.2011, 17:50
Devil669 Devil669 вне форума
Прохожий
 
Регистрация: 23.12.2011
Сообщения: 8
Репутация: 10
По умолчанию нужно перевести код из Паскаля в Делфи

Помогите,нашел код, а он помоему на Паскале. Нужно перевести его перевести на Делфи.

Вот код:

Код модуля:
Option Explicit
Declare Function shellabout Lib "shell32.dll" Alias "ShellAboutA" (ByVal hWnd As Long, ByVal App As String, ByVal OtherStuff As String, ByVal Icon As Long) As Long

Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Type LIBRARY
numberUDK As Integer
fio As String
nameBOOK As String
editionYEAR As Integer
quantity As Integer
End Type

Public LIBRARY(10000) As LIBRARY
Public kol_voKNIG As Integer
Public i As Integer
Public udk As Integer
-----------------------------------------------------------------------
Option Explicit

Private Sub Form_Load()
Label6.Caption = ""
Label7.Caption = ""
Label8.Caption = ""
Label9.Caption = ""
Label14.Caption = "Статус: "
Label15.Caption = "Автор: "
Label16.Caption = "Название: "
Label17.Caption = "Год издания: "
Label21.Caption = "Номер УДК: "
Label22.Caption = "Кол-во экземпляров: "
Label23.Caption = "Статус: "

'Устанавливаем окно программы поверх остальных окон
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3

On Error GoTo e
'загрузка базы данных
Open App.Path & "\Library.lib" For Input As #1
Do Until EOF(1)
i = i + 1
kol_voKNIG = kol_voKNIG + 1
Input #1, LIBRARY(i).fio
Input #1, LIBRARY(i).nameBOOK
Input #1, LIBRARY(i).editionYEAR
Input #1, LIBRARY(i).numberUDK
Input #1, LIBRARY(i).quantity
Loop
Close #1

LibRefresh
e:
End Sub

'Сохранение базы данных
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim ende As Variant
Cancel = True
ende = MsgBox("Вы действительно хотите выйти из этой замечательной программы?", vbYesNo, frmMain.Caption)
If ende = vbYes Then

Open App.Path & "\Library.lib" For Output As #1
For i = 1 To kol_voKNIG
Print #1, LIBRARY(i).fio
Print #1, LIBRARY(i).nameBOOK
Print #1, LIBRARY(i).editionYEAR
Print #1, LIBRARY(i).numberUDK
Print #1, LIBRARY(i).quantity
Next i
Close #1
End
End If
End Sub

'добавление книги в базу данных
Private Sub Command1_Click()
kol_voKNIG = kol_voKNIG + 1

With LIBRARY(kol_voKNIG)
.fio = Text1.Text
.nameBOOK = Text2.Text
.editionYEAR = Val(Text3.Text)
.numberUDK = Val(Text4.Text)
.quantity = Val(Text5.Text)

List1.AddItem .fio
List2.AddItem .nameBOOK
List3.AddItem .editionYEAR
List4.AddItem .numberUDK
List5.AddItem .quantity
End With
End Sub

'выдача книг
Private Sub Command2_Click()
udk = Val(Text6.Text)
'поиск книги по номеру УДК
For i = 1 To kol_voKNIG
If LIBRARY(i).numberUDK = udk Then
'книга найдена
If LIBRARY(i).quantity = 0 Then
MsgBox "Извените, книга находится на руках", vbInformation, frmMain.Caption
Label23.Caption = "Статус: находится на руках"
Exit Sub
Else
'выдача инфы о книге
Label6.Caption = LIBRARY(i).fio
Label7.Caption = LIBRARY(i).nameBOOK
Label8.Caption = LIBRARY(i).editionYEAR
Label9.Caption = LIBRARY(i).quantity
LIBRARY(i).quantity = LIBRARY(i).quantity - 1
Label23.Caption = "Статус: выдана"
LibRefresh
Exit Sub
End If
End If
Next i
MsgBox "Извените, данной книги нет в базе данных", vbInformation, frmMain.Caption
Label23.Caption = "Статус: отсутствует в базе данных"
End Sub

'возврат книг
Private Sub Command3_Click()
udk = Text7.Text
For i = 1 To kol_voKNIG
If LIBRARY(i).numberUDK = udk Then
Label14.Caption = "Статус: Книга успешно возвращена в библиотеку"
Label15.Caption = "Автор: " & LIBRARY(i).fio
Label16.Caption = "Название: " & LIBRARY(i).nameBOOK
Label17.Caption = "Год издания: " & LIBRARY(i).editionYEAR
Label21.Caption = "Номер УДК: " & LIBRARY(i).numberUDK
Label22.Caption = "Кол-во экземпляров: " & LIBRARY(i).quantity
LIBRARY(i).quantity = LIBRARY(i).quantity + 1
LibRefresh
MsgBox "Книга успешно возвращена в библиотеку", vbInformation, frmMain.Caption
Exit Sub
End If
Next i
MsgBox "Данная книга не принадлежит библиотеке. Не найдено совпадений по номеру УДК", vbCritical, frmMain.Caption
End Sub

Sub LibRefresh()
List1.Clear
List2.Clear
List3.Clear
List4.Clear
List5.Clear
For i = 1 To kol_voKNIG
List1.AddItem LIBRARY(i).fio
List2.AddItem LIBRARY(i).nameBOOK
List3.AddItem LIBRARY(i).editionYEAR
List4.AddItem LIBRARY(i).numberUDK
List5.AddItem LIBRARY(i).quantity
Next i
End Sub

'постоянная проверка некоторыx параметров программы
Private Sub Timer1_Timer()
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" _
And Text4.Text <> "" And Text5.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If

If Text6.Text <> "" Then
Command2.Enabled = True
Else
Command2.Enabled = False
End If

If Text7.Text <> "" Then
Command3.Enabled = True
Else
Command3.Enabled = False
End If
End Sub

Private Sub Text1_LostFocus()
Text1.Text = UCase(Mid(Text1.Text, 1, 1)) & (Mid(Text1.Text, 2, Len(Text1.Text)))
End Sub
Private Sub Text2_LostFocus()
Text2.Text = UCase(Mid(Text2.Text, 1, 1)) & (Mid(Text2.Text, 2, Len(Text2.Text)))
End Sub

Private Sub mnuAbout_Click()
'Общие сведения о программе
On Error Resume Next
Call shellabout(Me.hWnd, "Electronic library", "Разработчик Лапта Николай. г. Константиновск. http:\\kpovel.narod.ru, E-mail: kpovel@yandex.ru", Me.Icon)
End Sub

Private Sub mnuExit_Click()
Unload Me
End Sub
Ответить с цитированием
  #2  
Старый 23.12.2011, 17:58
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

1. Оформи код по правилам.
2. Это Visual Basic, если я не ошибаюсь.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 23.12.2011, 20:02
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Да, это васёк
Ответить с цитированием
  #4  
Старый 23.12.2011, 20:10
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Хотя бы весь проект дай. А не только код. Переведу. Хотя тут не сложно - расставить компоненты, и переписать всё по аналогии. Работы на 15 минут.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #5  
Старый 23.12.2011, 20:34
Devil669 Devil669 вне форума
Прохожий
 
Регистрация: 23.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

Составить программу, которая содержит текущую информацию о книгах
в библиотеке.
Сведения о книгах содержат:
-номер УДК;
-фамилию и инициалы автора;
-название;
-год издания;
-количество экземпляров данной книги в библиотеке.

Программа должна обеспечивать:

-начальное формирование данных о всех книгах в библиотеке в
виде списка;
-добавление данных о книгах, вновь поступающих в библиотеку;
-удаление данных о списываемых книгах;
-по запросу выдаются сведения о наличии книг в библиотеке,
упорядоченные по годам издания.
Ответить с цитированием
  #6  
Старый 23.12.2011, 21:24
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Да не задание, а все файлы программы
Ответить с цитированием
  #7  
Старый 23.12.2011, 21:40
Devil669 Devil669 вне форума
Прохожий
 
Регистрация: 23.12.2011
Сообщения: 8
Репутация: 10
По умолчанию

какие файлы? я тупо нашел код в нете,правда понял что он не на Делфи
Ответить с цитированием
  #8  
Старый 23.12.2011, 21:45
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Тогда в раздел "Работа"
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter