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

В Delphi если начинается с знака $, то за ним идет шестнадцатичичный код. А как это написать в Builder

16.01.2014, 22:28. Показов 2394. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно этот кусочек кода представить в Builder??

Delphi
1
2
3
4
5
6
const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;
В Delphi если начинается с знака $, то за ним идет шестнадцатичичный код.
А как это написать в Builder??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2014, 22:28
Ответы с готовыми решениями:

Написать код для игры НИМ. проверьте пожалуйста тот ли это код
#include <string> using namespace std; int compChoose(int markers); int userChoose(int markers); int...

Написать код дешифровщика для Delphi 7, если есть код шифровщика?
Вот всё что есть, нужно дополнить дешифровщик, заранее спасибо кто не пройдет стороной и не будет писать не по теме <3: interface ...


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

Или воспользуйтесь поиском по форуму:
9
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
16.01.2014, 22:35
C++
1
0x00000001
1
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
16.01.2014, 22:57  [ТС]
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Variants, Forms, Classes, Controls, StdCtrls, OleCtrls,
  AXVLC_TLB;
 
type
  TForm1 = class(TForm)
    VLCPlugin1: TVLCPlugin;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
 
type
  VLCPlaylistMode = TOleEnum;
 
const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
  // you can use any MRL with parameters instead of 'c:\video.mpg' here
  VLCPlugin1.play;
end;
 
end.
А если вот этот весь код?)
Или можно как-то код Delphi использовать в программе?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2014, 14:42
Цитата Сообщение от vetal0007 Посмотреть сообщение
Или можно как-то код Delphi использовать в программе?
Конечно, добавить модуль pas к программе на С++Builder ( Ясное дело понимать что получишь при этом).
0
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
18.01.2014, 06:33  [ТС]
В общем пробовал писать так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "AXVLC_TLB.h"
#ifndef NULL
#error
#endif
 
...
 
TOleEnum VLCPlaylistMode;
 
const  VLCPlayListInsert      = 0x00000001;
const  VLCPlayListReplace     = 0x00000002;
const  VLCPlayListAppend      = 0x00000004;
const  VLCPlayListGo          = 0x00000008;
const  VLCPlayListCheckInsert = 0x00000010;
 
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
VLCPlugin1->addTarget("D:\Видео\avtobabi.mpeg", NULL, VLCPlayListInsert, 0);
VLCPlugin1->play();
}
Вылетают след ошибки:
[bcc32 Error] Main.cpp(411): E2034 Cannot convert 'char const[21]' to 'wchar_t *'
Full parser context
Main.cpp(410): parsing: void _fastcall TMainForm::Button1Click(TObject *)
[bcc32 Error] Main.cpp(411): E2342 Type mismatch in parameter 'uri' (wanted 'wchar_t *', got 'const char *')
Full parser context
Main.cpp(410): parsing: void _fastcall TMainForm::Button1Click(TObject *)
[bcc32 Warning] Main.cpp(411): W8006 Initializing Axvlc_tlb::VLCPlaylistMode with const int
Full parser context
Main.cpp(410): parsing: void _fastcall TMainForm::Button1Click(TObject *)
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
18.01.2014, 11:36
1) из сообщений следует, что в параметрах ожидаются юникодные символы, а не просто char; значит нужно хотя бы L вставить перед кавычками: ->addTarget(L"D:\Видео\avtobabi.mpeg", NULL ...
2) обратную косую (backslash \ ) принято в тексте экранировать; вот таким образом: ->addTarget(L"D:\\Видео\\avtobabi.mpeg" , NULL ... .
1
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
18.01.2014, 14:08  [ТС]
Исправил так:
C++
1
2
VLCPlugin21->playlist->add(L"D:\\Видео\\avtobabi.mpeg", NULL, Axvlc_tlb::VLCPlayListInsert, 0);
VLCPlugin21->playlist->play();
Теперь следующие ошибки:
[bcc32 Error] Unit1.cpp(33): E2357 Reference initialized with 'int', needs lvalue of type 'int'
Full parser context
Unit1.cpp(32): parsing: void _fastcall TForm1::Button1Click(TObject *)
[bcc32 Error] Unit1.cpp(33): E2342 Type mismatch in parameter '__add_result' (wanted 'int &', got 'int')
Full parser context
Unit1.cpp(32): parsing: void _fastcall TForm1::Button1Click(TObject *)

Добавлено через 4 минуты
В библиотеке по этому поводу нашел такую строчку:

System::OleVariant name, const System::OleVariant options, int &__add_result) = 0 ;
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
18.01.2014, 14:25
Ну, учитесь "читать" сообщения об ошибке... . В 33-й строке в параметрах функции ожидается 3-м параметром не значение int (целое), а указатель (адрес) на переменную типа "целое". То-есть перед вызовом функции определяем: int MMM; а в качестве 3-го параметра: &MMM. Как-то так, я думаю.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
18.01.2014, 14:34
Цитата Сообщение от nick42 Посмотреть сообщение
а указатель (адрес) на переменную типа "целое"
Не указатель, а ссылка:
C++
1
2
int result = 0;
VLCPlugin21->playlist->add(L"D:\\Видео\\avtobabi.mpeg", NULL, Axvlc_tlb::VLCPlayListInsert, result);
1
29 / 29 / 3
Регистрация: 11.02.2012
Сообщений: 339
18.01.2014, 15:56  [ТС]
В XE4 откомпилировал но не работает. Ну там импорт ActiveX было проблематично, но я как-то умудрился это сделать. Наверное что-то пошло не так.

Сейчас пробую в 2007.
Там 2 плагина: VLCPlugin1 и VLCPlugin2
Когда пробую первый:
C++
1
2
3
int result = 0;
VLCPlugin1->addTarget(L"D:\\Видео\\avtobabi.mpeg", NULL, Axvlc_tlb::VLCPlayListInsert, result);
VLCPlugin1->play();
Такие ошибки:
[BCC32 Error] Unit1.cpp(35): E2034 Cannot convert 'int' to 'tagVARIANT'
[BCC32 Error] Unit1.cpp(35): E2342 Type mismatch in parameter 'options' (wanted 'tagVARIANT', got 'int')

Когда 2й:
C++
1
2
3
int result = 0;
VLCPlugin21->playlist->add(L"D:\\Видео\\avtobabi.mpeg", NULL, Axvlc_tlb::VLCPlayListInsert, result);
VLCPlugin21->playlist->play();
Такие:
[BCC32 Error] Unit1.cpp(32): E2285 Could not find a match for 'IVLCPlaylist::add(const wchar_t *,int,Axvlc_tlb::VLCPlaylistMode,int)'
[BCC32 Warning] Unit1.cpp(37): W8004 'result' is assigned a value that is never used

Добавлено через 3 минуты
Фкнуция add:
C++
1
2
virtual HRESULT STDMETHODCALLTYPE add(BSTR uri/*[in]*/, VARIANT name/*[in,opt]*/, 
                                        VARIANT options/*[in,opt]*/, long* itemId/*[out,retval]*/) = 0;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru