motofan logo
11 страниц V « < 5 6 7 8 9 > »         
> 

P2Kapi, Вопросы

dwALX
сообщение 19.6.2006, 17:11


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Vovan_mail, сорри, ошибся с буквой, когда делал описание rolleyes.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 19.6.2006, 17:23


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543
Модель телефона: Z3 - Z6
Прошивка: R452B_G_08.02.0DR

Рейтинг: 26



:) dwALX, Я то без проблем. С кем не бывает. dwALX, пожалуйста вбей хотя бы в следующей версии эти делфёвые инициализации библиотеки. Народу поможешь, а народ за твоё здоровье drink_drunks;
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 20.6.2006, 6:14


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Vovan_mail, все дело в том, что я не пишу на дельфи, у меня его и нет, а потому я не смогу даже проверить правильность.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 20.6.2006, 14:08


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543
Модель телефона: Z3 - Z6
Прошивка: R452B_G_08.02.0DR

Рейтинг: 26



dwALX, Вот эта хрень я думаю что правильно:

Код
function P2K_Init(StatusProc:pointer): Integer; stdcall;external 'p2kapi2.DLL';
function P2K_GetStatus: Integer; stdcall;external 'p2kapi2.DLL';
function File_List(var Buf; Count: Longword): Integer; stdcall; external 'p2kapi2.dll';
function File_Count: Integer; stdcall;external 'p2kapi2.DLL';
function File_CountEx(PathAndMask:string): Integer; stdcall;external 'p2kapi2.DLL';
function P2K_Restart: Integer; stdcall;external 'p2kapi2.DLL';
function File_VolInfo(var Data: array of Byte): Integer; stdcall;external 'p2kapi2.DLL';
function  Mode_SwitchToAT:integer; stdcall;external 'p2kapi2.DLL';
function  Mode_SwitchToP2K(StatusProc:pointer):integer; external 'p2kapi2.DLL';
function  Mode_SwitchToTF:integer; stdcall;external 'p2kapi2.DLL';
function Seem_Read(SeemNo, RecordNo, StartOffset, Bytes: Integer; var Data): Integer; stdcall; external 'p2kapi2.dll';
function Seem_Write(SeemNo, RecordNo, StartOffset, Bytes: Integer; var Data): Integer; stdcall; external 'p2kapi2.dll';
function File_Delete(FileName:String): Integer; stdcall; external 'p2kapi2.dll';
function File_Close: Integer; stdcall; external 'p2kapi2.dll';
function File_Write(Buffer:  array of byte; Size: Word): integer; stdcall; external 'p2kapi2.dll';
function File_Create(FileName:String;Attribute:Integer): Integer; stdcall; external 'p2kapi2.dll';
function File_Read( Buffer: array of byte;Size:Cardinal): Integer; stdcall; external 'p2kapi2.dll';
function File_SetPointer(Offset:dword; MoveMethod: dword): integer; stdcall; external 'p2kapi2.dll';
function P2K_Suspend: Integer; stdcall;external 'p2kapi2.DLL';
function File_CreateDir(Dir:string;Attribute: Integer): Integer; stdcall;external 'p2kapi2.DLL';
function File_DeleteDir(Dir:string): Integer; stdcall;external 'p2kapi2.DLL';
function File_GetFreeSpace(Disk:string): Integer; stdcall;external 'p2kapi2.DLL';
function SetCOMPort(Port:string):Integer; stdcall;external 'p2kapi2.DLL';
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 20.6.2006, 18:37


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Vovan_mail, спасибо! Добавлю в архив выше написанное. :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
maker_a
сообщение 24.6.2006, 12:06


Новичок
*

Группа: Пользователи
Сообщений: 20
Регистрация: 9.3.2006
Пользователь №: 73 523
Модель телефона: Вчера был E770

Рейтинг: 0



Вот решил поделится как добавлять использовать функции P2K в C#.

Код

[DllImport("p2kapi.dll")]
public static extern [B]тип_возврата[/B] [B]функция[/B]([B]входящие данные[/B]);


например

Код

[DllImport("p2kapi.dll")]
public static extern int P2K_Init(int proc);


Все функции нужно объявлять в классе.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
luck.tony
сообщение 1.8.2006, 1:12


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 1.8.2006
Пользователь №: 93 390
Модель телефона: sdfaasdf

Рейтинг: 0



:o When I use the function File_List,it cause a fatle error(DELPHI 7), and then the program will be exit?
Anybody know?TKS!!
And when I use debug mode,delphi 7 will prompt a error message like this:
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Synergy
сообщение 2.8.2006, 18:14


MotoLoudness
*****

Группа: Администраторы
Сообщений: 366
Регистрация: 25.1.2006
Из: Уфа
Пользователь №: 67 254
Модель телефона: OnePlus 9 Pro 5G

Рейтинг: 402



Цитата(luck.tony @ Вторник, 1 Августа 2006, 7:12)
:o When I use the function File_List,it cause a fatle error(DELPHI 7), and then the program will be exit?
Anybody know?TKS!!
And when I use debug mode,delphi 7 will prompt a error message like this:
*



Try this:

Код

procedure TFileman.RzBitBtn1Click(Sender: TObject);
type p2krec = packed record
Size,Attr:Longword;
Name: array [0..$1F7] of char;
end;
var
FL: array of p2krec;
Count,c,i:integer;
begin

Count:=File_COunt('a','*.*');
SetLength(fl,count);
c:=File_List(FL[0],Count);
if C<>-1 then begin

  for i:=0 to Length(FL)-1 do begin
 Rzlistview1.Items.add.Caption:=inttostr(i);
 Rzlistview1.Items.Item[i].SubItems.Add(FL[i].name);
 Rzlistview1.Items.Item[i].SubItems.Add(Inttostr(fl[i].size));
 Rzlistview1.Items.Item[i].SubItems.Add(Inttohex(fl[i].attr,8));
 end;

end else showmessage('Unable to load filelist');

end;

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
luck.tony
сообщение 4.8.2006, 3:04


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 1.8.2006
Пользователь №: 93 390
Модель телефона: sdfaasdf

Рейтинг: 0



Thanks a lot,Synergy!!!
my question have been so solved.
-----------------------------------------
I didn't announce the structure "p2krec",so caused the question!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SANYO_K
сообщение 8.8.2006, 0:46


Интересующийся
**

Группа: Пользователи
Сообщений: 64
Регистрация: 3.1.2006
Пользователь №: 64 324
Модель телефона: ROKR E1 (E398)
Прошивка: elektro255!!! 49r

Рейтинг: 3



Пробую писать P2K проги на VB6... Не получается вызывать функции с аргументами ptr Buffer
К примеру File_VolInfo, какой тип данных здесь использовать? массив Byte?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 9.8.2006, 10:23


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Можно слать любые команды используя функцию P2K_SendCMD :) (тут ничего нового нет, просто чуть изменил внутрению функцию P2K_SendCommand)
Формат такой:
Код

int P2K_SendCMD (DWORD Cmd, void* SendBuff, DWORD SendSize, void* RecvBuff, DWORD* RecvSize); // возвращает -1 если ошибка

а вот примерчик небольшой:
Код

BYTE Send[10000], Recv[10000];
DWORD SendSize, RecvSize;
Send[0] = 0xFF;
Send[1] = 0xFF;
SendSize = 2;
p2k->SendCMD(0x0039,Send, SendSize, Recv, &RecvSize);
Recv[Recv[0]+1] = 0; // в первом байте длина строки
printf("Firmware version: %s\n",&Recv[1]);


Еще изменена функция File_Count. Теперь она корректно работает с E1000 и другими 3G телефонами (только надо побольше потестить еще)
(Спасибо Random'у за помощь)


Скачать можно отсюда: http://dwalx.motofan.ru/pa2.php
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 9.8.2006, 10:35


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



dwALX,
а список возможных команд можно взять в файле "P2K Test Commands Version 40_2.tdb"?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 9.8.2006, 10:39


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



blackbox, а это что за файлик такой?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
n0wheremany
сообщение 9.8.2006, 11:19


Прогр@ммер
*****

Группа: Почётные мотофаны
Сообщений: 564
Регистрация: 10.9.2005
Пользователь №: 51 111
Модель телефона: E398

Рейтинг: 341



Цитата
blackbox, а это что за файлик такой?


ПСТ посмотри.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 9.8.2006, 11:28


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Цитата(n0wheremany @ Среда, 9 Августа 2006, 14:19)
ПСТ посмотри.

А все. Понял. Думал, что это что-то поинтересней будет ;)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 13.8.2006, 15:26


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



Два вопроса:
1. Есть ли возможность получать файлы с 3G телефонов?
2. Объясните как подключать телефон, читать и изменять сим?
Заранее благодарен.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 14.8.2006, 7:41


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



engel,
1. есть
2. P2K_Init, Seem_Read, Seem_Write (описание в p2kapi.txt)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
LimeJelly
сообщение 14.8.2006, 15:11


Интересующийся
**

Группа: Пользователи
Сообщений: 51
Регистрация: 8.7.2006
Пользователь №: 90 705
Модель телефона: Moto V360
Прошивка: AER

Рейтинг: 9



huh.gif Когда пытаешся подключить телефон, в папке с программой, которая юзает p2kapi.dll появляется файл COMx (x - номер моего COM-порта модема). Там написано - at+mode=8. Что я делаю не так ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 15.8.2006, 16:22


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



LimeJelly, так бывает, когда номер порта больше 9.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
LimeJelly
сообщение 15.8.2006, 17:17


Интересующийся
**

Группа: Пользователи
Сообщений: 51
Регистрация: 8.7.2006
Пользователь №: 90 705
Модель телефона: Moto V360
Прошивка: AER

Рейтинг: 9



И что теперь мне делать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 15.8.2006, 19:47


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Цитата(LimeJelly @ Вторник, 15 Августа 2006, 20:17)
И что теперь мне делать?

1. Переставить модем на com с 1 по 9. [все времени не хватает переделать это в p2kapi]
2. Переключать как-то еще.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
LimeJelly
сообщение 16.8.2006, 10:20


Интересующийся
**

Группа: Пользователи
Сообщений: 51
Регистрация: 8.7.2006
Пользователь №: 90 705
Модель телефона: Moto V360
Прошивка: AER

Рейтинг: 9



:) Ню и последний вопрос, как перетащить модем на com с 1 по 9 :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 18.8.2006, 11:05


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



на File_Create(lpstr FileName, dword Attribute); выдаёт ошибку.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Synergy
сообщение 18.8.2006, 15:15


MotoLoudness
*****

Группа: Администраторы
Сообщений: 366
Регистрация: 25.1.2006
Из: Уфа
Пользователь №: 67 254
Модель телефона: OnePlus 9 Pro 5G

Рейтинг: 402



engel,
Я юзаю так

Код

File_Create(имя файла с путем,0);



а объявляю

Код

function File_Create(FileName:String;Attribute:Integer): Integer; stdcall; external 'P2KAPI2.DLL';
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 20.8.2006, 5:38


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



Я так и делаю, но он выдаёт ошибку. P2KApi2 точно подходит к 3G телефонам? Тестил на V980.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Synergy
сообщение 20.8.2006, 17:58


MotoLoudness
*****

Группа: Администраторы
Сообщений: 366
Регистрация: 25.1.2006
Из: Уфа
Пользователь №: 67 254
Модель телефона: OnePlus 9 Pro 5G

Рейтинг: 402



engel,
Поидее должен...
Не забывай указывать путь так, например : '/a/mobile/testfile.mp3'
А то у меня раньше тоже было куча вопросов почему ошибка, а тут поменял '\' на '/' и все путем работает :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 21.8.2006, 7:06


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



А кто-нибудь ещё писал под 3G телефоны?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 21.8.2006, 9:48


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



engel,
c E1000 работает. Лучше бы выложил кусок кода, глядишь и разобрались бы в чем проблема, а так даже желания нет гадать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 21.8.2006, 14:02


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



Код
var   s             : array[1..5156] of byte;

function File_Create(FileName:String;Attribute:Integer): Integer; stdcall; external 'p2kapi2.dll';

procedure StatusProc(Status: Integer); stdcall;
begin
 case Status of
   0 : begin
     Form1.StatusBar1.Panels.Items[0].Text := 'Поиск телефона';
   end;
   1 : begin
     Form1.StatusBar1.Panels.Items[0].Text := 'Телефон подключен';
   end;
 else
   Form1.StatusBar1.Panels.Items[0].Text := '';
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var  connstat: Integer;
begin
 connstat := P2K_Init(@StatusProc);
 if connstat = 0 then StatusBar1.Panels.Items[0].Text := 'Поиск телефона';
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 File_Create('/a/mobile/system/audio_cfg.db',0);
 File_Read(s,5156);
 File_Close;
end;
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 21.8.2006, 15:05


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



engel, а как у тебя File_Read объявлена?
Если ты взял объявление из delphi.txt то там ошибка (его никто никогда не проверял, и не мешало бы как следует проверить [ну не пишу я на дельфи, что тут поделаешь]), надо:
function File_Read(Buffer: pointer; Size:integer): Integer; stdcall; external 'p2kapi2.dll';
надо везде где используется массив (array of byte) переделать на pointer, так все-таки вернее.
Код

function File_Read(Buffer: pointer; Size:integer): Integer; stdcall; external 'p2kapi2.dll';
var s : array[1..5156] of byte;
...
File_Create('/a/uaprof_url.txt',0);
File_Read(@s,51);
File_Close;
...

после этих изменений у меня перестало вылетать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
engel
сообщение 21.8.2006, 17:04


Мастер
****

Группа: Пользователи
Сообщений: 285
Регистрация: 2.5.2005
Из: Беларусь, Дзержинск
Пользователь №: 41 735
Модель телефона: Nokia 5320
Прошивка: 04.13

Рейтинг: 48



Спасибо. Всё заработало!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
LimeJelly
сообщение 23.8.2006, 13:02


Интересующийся
**

Группа: Пользователи
Сообщений: 51
Регистрация: 8.7.2006
Пользователь №: 90 705
Модель телефона: Moto V360
Прошивка: AER

Рейтинг: 9



А никто не скажет какой тип данных нужно передавать в File_List в C# ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Beast6666
сообщение 30.8.2006, 13:17


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 7.8.2006
Пользователь №: 94 127
Модель телефона: E398

Рейтинг: 0



Люди. У меня вопрос, честно просмотрел последние 13 страниц на большее не хватает модема(все больше и больше висит). Можно узнать размер файла в телефоне? Чтобы корректно сохранить? Если можно поделитесь, плз, кодом. Программю на делфи...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dwALX
сообщение 30.8.2006, 17:55


McLaren fan
****

Группа: Пользователи
Сообщений: 230
Регистрация: 27.4.2005
Из: Саратов
Пользователь №: 41 466
Модель телефона: MOTOMING A1200e

Рейтинг: 399



Beast6666, получаешь список файлов. будет массив структур вида:
Код

struct FILEENTRY
{        
       DWORD FileSize;
       WORD attr1;
       WORD attr2;
       char FileName[502];
};

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

Вот код на C++:
Код

       FileCount = p2k->GetFileCountEx("/c/*.jpg");
       p2k->GetFileList(FileList,FileCount);
       FILEENTRY *FileList = new FILEENTRY[FileCount];
       p2k->GetFileList(FileList,FileCount);
       int FileSize = -1;
       for (int i = 0; i < FileCount; i++)
       {
           if (strcmp(FileList[i].FileName,"/c/mobile/pictures/me.jpg") == 0)
           {
              FileSize = FileList[i].FileSize;
              break;
           }        
       }
       delete[] FileList;
       if (FileSize != -1)
       {
              // читаем наш файл с телефона :)
       }
       else
       {
              // а вот нет нужного нам файла :(
       }

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Beast6666
сообщение 31.8.2006, 12:26


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 7.8.2006
Пользователь №: 94 127
Модель телефона: E398

Рейтинг: 0



dwALX,
спасибо, вроде понял, щас попробую сделать на делфи.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Beast6666
сообщение 3.9.2006, 12:57


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 7.8.2006
Пользователь №: 94 127
Модель телефона: E398

Рейтинг: 0



Не получается. Наверно я что то не так делаю. Может кто поможет? Я на делфи сделал так: Создал запись record с 4 полями. Далее узнаю кол-во файлов на диске /а/. Потом получаю список, который сохраняется в мою запись record. Потом я сравниваю имя из поля записи с именем файла, размер которого мне нужен, и если такой файл есть, то получаю размер файла в телефоне. Только размер равен 0. dwALX, прости за тупую просьбу, ты можешь дать алгоритм получения списка файлов? Наверно я там косячу...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Synergy
сообщение 3.9.2006, 16:02


MotoLoudness
*****

Группа: Администраторы
Сообщений: 366
Регистрация: 25.1.2006
Из: Уфа
Пользователь №: 67 254
Модель телефона: OnePlus 9 Pro 5G

Рейтинг: 402



Beast6666, держи. Получаем список файлов в ListView

Код


procedure TFileman.RzBitBtn1Click(Sender: TObject);
type p2krec = packed record
Size,Attr:Longword;
Name: array [0..$1F7] of char;
end;
var
FL: array of p2krec;
Count,c,i:integer;
s,d:string;
begin
d:= Combobox1.Items.Strings[Combobox1.ItemIndex];
Count:=Moto.FSCount(d,'*.*');
SetLength(fl,count);
c:=Moto.FileList(FL[0],Count);
if C<>-1 then begin

  for i:=0 to Length(FL)-1 do begin
 Rzlistview1.Items.add.Caption:=inttostr(i);
 Rzlistview1.Items.Item[i].SubItems.Add(FL[i].name);
 Rzlistview1.Items.Item[i].SubItems.Add(Inttostr(fl[i].size));
 Rzlistview1.Items.Item[i].SubItems.Add(Inttohex(fl[i].attr,8));
 end;

end else showmessage('Невозможно загрузить список файлов');

end;


Используется свой компонент поэтому вот процедура Moto.FileList :

Код


function TEasyMoto.FileList(Var Buf; Count:Longword):integer;
begin
Result:=File_List(Buf,Count);
end;

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Beast6666
сообщение 4.9.2006, 14:45


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 7.8.2006
Пользователь №: 94 127
Модель телефона: E398

Рейтинг: 0



Synergy, спасибо. Тока все равно косяк, вылазить ошибка "Range Check Error". Как я толко не пытался. Один в один если делать все равно ошибка.

P.S. Можешь дать описание функции "Moto.FSCount(d,'*.*');"???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Beast6666
сообщение 4.9.2006, 17:01


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 7.8.2006
Пользователь №: 94 127
Модель телефона: E398

Рейтинг: 0



Я не понял. dwALX, Synergy ведь FileCountEx возращает кол-во файлов на данном диске с данным расшерением. Или не так? Если да, то корректно ли это:
FileCount = p2k->GetFileCountEx("/c/*.jpg");
p2k->GetFileList(FileList,FileCount);???

Гм. Я щас сделал так: Получил кол-во файлов, потом в записал в массив структур все файлы, а потом осуществил в этом массиве поиск по имени.
Код
type p2krec = packed record
        Size,Attr:Longword;
        Name: array [0..$1F7] of char;
    end;

var   FL: array of p2krec;
     Count,c,i:integer;
     s,d:string;
     FileSize:integer;

begin
  Count:= File_Count  
  SetLength(fl,count);

  for i:=0 to Length(fl)-1 do file_list(fl[i],Count);
  for i:=0 to Length(FL)-1 do begin
    if Fl[i].Name=FileName then Result := Fl[i].Size;
             break; end;


Только у меня что-то не то. Размер файла вместо 7382 получается 3478312 blink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
FlashTato
сообщение 30.9.2006, 13:59


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 6.7.2006
Пользователь №: 90 457
Модель телефона: ciao
Прошивка: ciao

Рейтинг: 0



Hi boys,

I want to knew if anyone can show me a Code Sample for read data by start/end adress and sending a loader?

Possible in VBdotNET or C# thanks :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
P2Kapi, Вопросы · Ломаем и строим! · Forum
 

11 страниц V « < 5 6 7 8 9 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.7.2025, 16:42

Форум живёт: