Jump to content

Search the Community

Showing results for tags 'download'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • uniGUI Public
    • Announcements
    • General
    • Feature Requests
    • Installation
    • Deployment
    • Other Platforms
  • Licensing
    • Licensing
    • Ordering uniGUI
  • Bug Reports
    • Active Reports
    • Closed Reports
    • Old Bug Reports
  • uniGUI Development
    • General Development
    • uniGUI Releases & Roadmaps
    • Utilities
  • Mobile Platform
    • uniGUI Mobile
    • Mobile Browsers
  • Users Area
    • Sample Projects
    • Components and Code Samples
    • Third Party Components
  • Non-English
    • Non-English
  • Miscellaneous
    • Hosting
    • Server Security
    • Jobs

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 9 results

  1. Hi... maybe this is not a cool mechanism, but it could be very useful for people who do not know JS.. on problem .. (this is not a problem, but a limitation) - There are extensions for the browser that allow you to remove these restrictions, and on the js side there seem to be solutions for tracking the status of file downloads.... Maybe it’s worth adding an option that would allow more than 5 files to be downloaded at the same time (despite the limitations of the browser, it won’t allow this will give), stand in line or use the limited option. What do you say?
  2. Hi. I can't upload a plural number of files - the upload code on the backend works correctly, but it is killed by a function on JS: For example, I am trying to issue 7 files for downloading.. Everything is "OK" here - 7 times this code is executed perfectly. But inside Unisession.sendStream, the _sdl_ function is called, the number of files is cut to 5 in it. The _sdl_ function removes elements from the array... As a result, instead of 7 files, only 5 are uploaded.. How can I increase this limit (without changing the source code of the framework)? V: pro 1564
  3. This is a project that I really enjoyed doing but it took more than two years to get the way I wanted it and many modifications/adaptations were made. There are several options for Downloading videos from YouTube but always with some limitations or paid. What's more, none that I can easily customize, expand to other things and even integrate with other apps or even feed my smart-tv automatically to watch whenever I want without accessing Youtube again or risking the video being removed. Of course , there is a paid Google API ! With this project it was possible to integrate this technology with other apps, making it much easier to monitor new videos and download material that I'm interested in, and YouTube is the primary source. This material uses YT-DLP. For those who follow the area, it is the third version of this material that has changed hands over five years more than three times, leaving only this last repository on GitHUB (https://github.com/yt-dlp/yt-dlp) . None of the others work anymore or are updated yet. Believe me: This is a subject that I monitor almost every day because I love watching videos on TV on different subjects and being subscribed to over 400 channels (in my case), doesn't help with notifications. And throughout the day, it gets complicated to keep saving in lists and then opening again to keep track of what I saved. So I made an app in uniGUI that downloads anything new to my TV and notifies me. This project contains the VCL version (the first one I made) and the uniGUI version (the one I use the most), which I use locally to feed my video base of interest. Being that uniGUI gave me a lot of work to make it work due to session management and other details and integration with the external module in Python. With this material you can: - Download youtube videos with several download and customization options. Just combine the options in YT-DLP. - Download subtitles and various isolated elements. - You can monitor youtube channels, download all videos from a channel, channel information etc. - You can create a video monitoring system by date, size, vote etc. - You can get all the public data of a video and a lot of information that is not displayed in the youtube interface. - You can download video, only audio, combine both, set resolution, download only ThumbNail (or thumbnails) and dozens of other options and combinations. - Easily create server to embed in your app or a unique API. - Download is extremely fast and much faster than ALL software on the market I have tried. - Use the Windows cache to optimize downloads that had problems. - Hundreds (literally) of command options/features. For anyone interested in manipulating youtube videos, youtube channels, downloading in an automated way, collecting online video data, etc., this is the best solution and the only one that will actually work. Outside of here is to use JS Libs that keep giving problems, are slow and don't even come close to the number of options you will find in YT-DLP. The programs in VCL and uniGUI server are like an automation "cocoon" for the executable bin created in Python. And the component used to integrate with each other is DOSCommand (included here with the sources in this project/package) which is free and you can also find it on GitHub See link below for purchase and detailed feature listing. -- PT-BR Este é um projeto que gostei muito de fazer mas que levou mais de dois anos para ficar como eu desejava e teve muitas modificações/adaptações foram feitas. Existem diversas opções para Download de videos do YouTube mas sempre com alguma limitação ou pagos. E mais, nenhuma que eu posso personalizar facilmente expandir para outras coisas e até integrar com outros aplicativos ou até alimentar a minha smart-tv automaticamnete para assistir quando eu quiser sem acessar mais o Youtube novamente ou correr o risco do video ser removido. Claro , tem a API do Google que é paga ! Com este projeto foi possível integrar esta tecnologia com outros apps, facilitar muito monitoração de videos novos e download de material que tenho interesse e o YouTube é a fonte primária. Este material usa o YT-DLP. Para quem acompanha a área, é a terceira versão deste material que já mudou de mãos ao longo de cinco anos mais de três vezes restando apenas este último repositório no GitHUB (https://github.com/yt-dlp/yt-dlp). Nenhum dos outros funciona mais ou ainda é atualizado. Acredite: Este é um assunto que monitoro quase todos os dias pois adoro ver videos na TV sobre diversos assuntos e ser inscrito em mais 400 canais (com o meu caso), não ajuda nas notificações. E ao longo do dia, fica complicado ficar salvando em listas e depois abrir novamente para acompanhar o que salvei. Desta forma, fiz um app no uniGUI que baixa qualquer coisa nova para a minha TV e me notifica. Este projeto contém a versão VCL (primeira qeu eu fiz) e uniGUI (a que mais uso), que uso localmente para alimentas a minha base de videos de interesse. Sendo que a uniGUI me deu muito trabalho para fazer funcionar devido ao gerencimento de sessão e outros detalhes e integração com o módulo externo em Python. Com este material você pode: - Baixar videos do youtube com diveras opções de download e customização. Basta combinar as opções no YT-DLP. - Baixar legendas e diversos elementos isolados. - Você pode monitorar canais do youtube, baixar todos os videos de um canal, informações do canal etc. - Você pode criar um sistema de monitoramentos de videos por data, tamanho, votação etc. - Você pode receber todos os dados públicos de um video e muitas informações que não são exibida na interface do youtube. - Pode baixar video, apenas o audio, combinar os dois, definir resolução, baixar apenas o ThumbNail (ou thumbnails) e dezenas de outras opções e combinações. - Facilmente criar servidor para embutir em seus app ou uma API exclusiva. - O Download é extremamente rápido e muito mais rápido que TODOS os software do mercado que experimentei. - Use o cache do Windows para optimizar download que deram problema. - Centenas (literalmente) de opções de comando e muitos recursos. Para quem interessa manipular videos do youtube, canais do YouTube, baixar de forma automatizada, coletar dados de video on-line, etc, isto é a melhor solução e a úica que vai de fato funcionar. Fora daqui é usar Libs JS que vivem dando problemas, são lentas e nem chegam perto do número de opções que você vai encontrar no YT-DLP. Os progrmas em VCL e uniGUI server são como um "casúlo" de automação para o bin executável criado em Python. E o componente usado para integra um com o outro é o DOSCommand (incluso aqui com os fontes neste projeto/pacote) que é gratuito e você tb pode achar no GitHub Veja link abaixo para aquisição e listagem detalhada dos recursos. -- ES Este es un proyecto que disfruté mucho hacer pero tomó más de dos años para quedar como quería y se hicieron muchas modificaciones/adaptaciones. Hay varias opciones para descargar vídeos de YouTube pero siempre con algunas limitaciones o de pago. Es más, ninguno que pueda personalizar fácilmente, expandir a otras cosas e incluso integrarme con otras aplicaciones o incluso alimentar mi televisor inteligente automáticamente para verlo cuando quiera sin acceder a Youtube nuevamente o arriesgarme a que el video sea eliminado. ¡Por supuesto, hay una API de pago de Google! Con este proyecto fue posible integrar esta tecnología con otras aplicaciones, haciendo que sea mucho más fácil monitorear nuevos videos y descargar material que me interesa, y YouTube es la fuente principal. Este material utiliza YT-DLP. Para los que siguen el área, es la tercera versión de este material que ha cambiado de manos a lo largo de cinco años más de tres veces, quedando solo este último repositorio en GitHUB (https://github.com/yt-dlp/yt-dlp ) . Ninguno de los otros funciona más o está actualizado todavía. Créanme: este es un tema que controlo casi todos los días porque me encanta ver videos en la televisión sobre diferentes temas y estar suscrito a más de 400 canales (en mi caso), no ayuda con las notificaciones. Y a lo largo del día se complica seguir guardando en listas y luego abrir de nuevo para llevar el control de lo guardado. Así que creé una aplicación en uniGUI que descarga cualquier cosa nueva en mi televisor y me notifica. Este proyecto contiene la versión VCL (la primera que hice) y la versión uniGUI (la que más uso), que uso localmente para alimentar mi base de videos de interés. Dado que uniGUI me dio mucho trabajo para que funcionara debido a la gestión de sesiones y otros detalles e integración con el módulo externo en Python. Con este material podrás: - Descarga videos de youtube con varias opciones de descarga y personalización. Simplemente combine las opciones en YT-DLP. - Descargar subtítulos y varios elementos aislados. - Puede monitorear los canales de YouTube, descargar todos los videos de un canal, información del canal, etc. - Puede crear un sistema de monitoreo de video por fecha, tamaño, voto, etc. - Puede obtener todos los datos públicos de un video y mucha información que no se muestra en la interfaz de youtube. - Puede descargar video, solo audio, combinar ambos, configurar la resolución, descargar solo ThumbNail (o miniaturas) y docenas de otras opciones y combinaciones. - Cree fácilmente un servidor para integrarlo en su aplicación o en una API única. - La descarga es extremadamente rápida y mucho más rápida que TODOS los programas del mercado que he probado. - Usa la caché de Windows para optimizar las descargas que tuvieron problemas. - Cientos (literalmente) de opciones de comando y muchas características. Para cualquier persona interesada en manipular videos de youtube, canales de youtube, descargar de forma automatizada, recopilar datos de videos en línea, etc., esta es la mejor solución y la única que realmente funcionará. Fuera de aquí está usar JS Libs que siguen dando problemas, son lentos y ni se acercan a la cantidad de opciones que encontrarás en YT-DLP. Los programas en VCL y el servidor uniGUI son como un "capullo" de automatización para el contenedor ejecutable creado en Python. Y el componente utilizado para integrarse entre sí es DOSCommand (incluido aquí con las fuentes en este proyecto/paquete), que es gratuito y también puede encontrarlo en GitHub. Visit link below to puchase project source code: https://www.unigui.com.br/uniGUIYT-Download.html
  4. Good morning everyone!! I've been stuck trying to convert a binary to PDF file but i didn't really get into anything. The reports i'm trying to show are saved as a binary type, i'm trying to process them to show them but the uniGUI PDF viewer component doesn't load files from stream. A workaround i think could work is saving the file then access it with the FilesFolderURL property, but i dont know if it is possible to do that. does anyone has done something like that? Thank you.
  5. I am using:- UniSession.SendFile(sFileName, ExtractFileName(sFileName)); To download jpg files and it works fine on Desktop HOWEVER it does not work on iPhones. I know iPhones control all downloads but pdf's can be easily downloaded from websites ? Please advise how - thanks.
  6. Hi Forum, currently i can't download every attachment on this forum as . This attachment is not available. It may have been removed or the person who shared it may not have permission to share it to this location. Error code: 2C171/1
  7. I currently have a VCL form that downloads and extracts a file as soon as it's showed. I have tried converting it to UniGUI but I get the following problems: Progress bar doesn't work. The form caption does not update. It downloads the zip file but gets a access violation when it wants to extract the downloaded zip file. Here is my VCL form unit: unit uOxideModInstaller; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, System.Zip, ActiveX, IdSSLOpenSSL; type TDownload = class; Tfrmoxidemodinstaller = class(TForm) pb1: TProgressBar; btn1: TButton; procedure FormShow(Sender: TObject); procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; TDownload = class(TThread) private httpclient: TIdHTTP; url: string; filename: string; maxprogressbar: integer; progressbarstatus: integer; procedure ExtractZip(ZipFile: string; ExtractPath: string); procedure idhttp1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); procedure idhttp1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); procedure UpdateProgressBar; procedure SetMaxProgressBar; protected procedure Execute; override; public constructor Create(CreateSuspended: boolean; aurl, afilename: string); destructor Destroy; override; end; var frmoxidemodinstaller: Tfrmoxidemodinstaller; implementation {$R *.dfm} { Thread } constructor TDownload.Create(CreateSuspended: boolean; aurl, afilename: string); begin inherited Create(CreateSuspended); httpclient := TIdHTTP.Create(nil); httpclient.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(httpclient); httpclient.HandleRedirects := True; httpclient.OnWorkBegin := idhttp1WorkBegin; httpclient.OnWork := idhttp1Work; url := aurl; filename := afilename; end; procedure TDownload.idhttp1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin progressbarstatus := AWorkCount; Queue(UpdateProgressBar); end; procedure TDownload.idhttp1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin maxprogressbar := AWorkCountMax; Queue(SetMaxProgressBar); end; procedure TDownload.Execute; var Stream: TMemoryStream; begin Stream := TMemoryStream.Create; try httpclient.Get(url, Stream); Stream.SaveToFile(filename); frmoxidemodinstaller.Caption := 'Done Downloading. Extracting...'; //Sleep(2000); ExtractZip('oxide.zip', GetCurrentDir); finally Stream.Free; end; end; procedure TDownload.UpdateProgressBar; var ZipFile: string; begin frmoxidemodinstaller.pb1.Position := progressbarstatus; frmoxidemodinstaller.Caption := 'Downloading...'; { if frmextradownload.pb1.Position = frmextradownload.pb1.Max then begin frmextradownload.Caption := 'Done Downloading. Extracting...'; Sleep(2000); ExtractZip('files.zip', GetCurrentDir); end; } end; procedure TDownload.SetMaxProgressBar; begin frmoxidemodinstaller.pb1.Max := maxprogressbar; end; destructor TDownload.Destroy; begin FreeAndNil(httpclient); inherited Destroy; end; procedure TDownload.ExtractZip(ZipFile, ExtractPath: string); begin if TZipFile.IsValid(ZipFile) then begin TZipFile.ExtractZipFile(ZipFile, ExtractPath); DeleteFile(ZipFile); DeleteFile('HashInfo.txt'); DeleteFile('OpenSSL License.txt'); DeleteFile('openssl.exe'); DeleteFile('ReadMe.txt'); frmoxidemodinstaller.Caption := 'Done.'; frmoxidemodinstaller.btn1.Enabled := True; end else begin frmoxidemodinstaller.Caption := 'Error Extracting files'; end; end; procedure Tfrmoxidemodinstaller.btn1Click(Sender: TObject); begin Close; end; procedure Tfrmoxidemodinstaller.FormShow(Sender: TObject); var DownloadThread: TDownload; link: string; begin pb1.Position := 0; btn1.Enabled := False; frmoxidemodinstaller.Caption := 'Starting Download...'; link := 'https://bintray.com/oxidemod/builds/download_file?file_path=Oxide-Rust.zip'; DownloadThread := TDownload.Create(true, link, 'oxide.zip'); DownloadThread.FreeOnTerminate := true; DownloadThread.Start; end; end. Here is the form unit I made for UniGUI: (I removed the button) unit uOxideModInstaller; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, uniGUITypes, uniGUIAbstractClasses, uniGUIClasses, uniGUIForm, uniGUIBaseClasses, uniProgressBar, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, System.Zip, ActiveX, IdSSLOpenSSL; type TDownload = class; Tfrmoxidemodinstaller = class(TUniForm) pb1: TUniProgressBar; procedure UniFormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; TDownload = class(TThread) private httpclient: TIdHTTP; url: string; filename: string; maxprogressbar: integer; progressbarstatus: integer; procedure ExtractZip(ZipFile: string; ExtractPath: string); procedure idhttp1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); procedure idhttp1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); procedure UpdateProgressBar; procedure SetMaxProgressBar; protected procedure Execute; override; public constructor Create(CreateSuspended: boolean; aurl, afilename: string); destructor Destroy; override; end; function frmoxidemodinstaller: Tfrmoxidemodinstaller; implementation {$R *.dfm} uses MainModule, uniGUIApplication; function frmoxidemodinstaller: Tfrmoxidemodinstaller; begin Result := Tfrmoxidemodinstaller(UniMainModule.GetFormInstance(Tfrmoxidemodinstaller)); end; { Thread } constructor TDownload.Create(CreateSuspended: boolean; aurl, afilename: string); begin inherited Create(CreateSuspended); httpclient := TIdHTTP.Create(nil); httpclient.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(httpclient); httpclient.HandleRedirects := True; httpclient.OnWorkBegin := idhttp1WorkBegin; httpclient.OnWork := idhttp1Work; url := aurl; filename := afilename; end; procedure TDownload.idhttp1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin progressbarstatus := AWorkCount; Queue(UpdateProgressBar); end; procedure TDownload.idhttp1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64); begin maxprogressbar := AWorkCountMax; Queue(SetMaxProgressBar); end; procedure TDownload.Execute; var Stream: TMemoryStream; begin Stream := TMemoryStream.Create; try httpclient.Get(url, Stream); Stream.SaveToFile(filename); frmoxidemodinstaller.Caption := 'Done Downloading. Extracting...'; ExtractZip('oxide.zip', GetCurrentDir); finally Stream.Free; end; end; procedure TDownload.UpdateProgressBar; var ZipFile: string; begin frmoxidemodinstaller.pb1.Position := progressbarstatus; frmoxidemodinstaller.Caption := 'Downloading...'; end; procedure TDownload.SetMaxProgressBar; begin frmoxidemodinstaller.pb1.Max := maxprogressbar; end; destructor TDownload.Destroy; begin FreeAndNil(httpclient); inherited Destroy; end; procedure TDownload.ExtractZip(ZipFile, ExtractPath: string); begin if TZipFile.IsValid(ZipFile) then begin TZipFile.ExtractZipFile(ZipFile, ExtractPath); DeleteFile(ZipFile); DeleteFile('HashInfo.txt'); DeleteFile('OpenSSL License.txt'); DeleteFile('openssl.exe'); DeleteFile('ReadMe.txt'); frmoxidemodinstaller.Caption := 'Done.'; frmoxidemodinstaller.Close; end else begin frmoxidemodinstaller.Caption := 'Error Extracting files'; end; end; procedure Tfrmoxidemodinstaller.UniFormShow(Sender: TObject); var DownloadThread: TDownload; link: string; begin pb1.Position := 0; frmoxidemodinstaller.Caption := 'Starting Download...'; link := 'https://bintray.com/oxidemod/builds/download_file?file_path=Oxide-Rust.zip'; DownloadThread := TDownload.Create(true, link, 'oxide.zip'); DownloadThread.FreeOnTerminate := true; DownloadThread.Start; end; end.
  8. I'm using the Full Demo build 1205. I have an IPAD with Safari and Chrome installed. When I click on the "Download & Upload" then "Advanced Download", I can click on any of the 4 download buttons, but nothing happens. I don't see a visual clue that anythnig has happened. Is there an issue on the IPAD where we can't do the download function? I didn't try with FireFox since it's NOT my IPAD. So, I could only try with Safari and Chrome. Anybody else experience this? Davie
  9. Hi; I was successfully to export and download a datasource content using ZEXMLSS Download XML file and open with excel it works very nice for me. Used Component : ZEXMLSS and ZColorStringGrid from http://avemey.com/index.php?lang=en Turbo power tpabbrevia from http://sourceforge.net/projects/tpabbrevia/?source=dlp You must install a zip component and zcolorstring for exporting. I need some modification ZEXMLSS compatiblity for tpabbrevia manually during installation. Here is sample code which was tested via XE2 PS : sorry for big capital. I am always using big capital writting a program. // Tdosyaver is uniform formname // RAPORHAZIRLA(XFILENAME:STRING); // Prepare data and export it using ZEXMLSS. QLIST is a datasource and opened before this proc. PROCEDURE TDOSYAVER.RAPORHAZIRLA(XFILENAME:STRING); //uses zexmlss, zeodfs, zexmlssutils, zeformula, zsspxml, zexlsx; var XMLSS: TZEXMLSS; i, j: integer; TextConverter: TAnsiToCPConverter; sEOL: string; XSAYI : INTEGER; XSATIR : INTEGER; XCOL : INTEGER; begin TextConverter := nil; {$IFNDEF FPC} {$IF CompilerVersion < 20} // < RAD Studio 2009 TextConverter := @AnsiToUtf8; {$IFEND} {$ENDIF} {$IFDEF FPC} sEOL := LineEnding; {$ELSE} sEOL := sLineBreak; {$ENDIF} XMLSS := TZEXMLSS.Create(nil); try //There are 1 pages in this document XMLSS.Sheets.Count := 1; XMLSS.Sheets[0].Title := 'Sayfa1'; // EXCEL SHEET NAME //Add styles XMLSS.Styles.Count := 1; XMLSS.Styles[0].Font.Size := 10; XMLSS.Styles[0].Font.Name := 'Arial'; XMLSS.Styles[0].Alignment.Horizontal := ZHCenter; // This parameters are optional and some styles options too (line backcolor, text oriantation etc). XMLSS.Styles[0].Alignment.Vertical := ZVCenter; XMLSS.Styles[0].Alignment.WrapText := true; with XMLSS.Sheets[0] do begin //the count of rows and columns // ZEXMLSS must know how many contain rows and cols. You must set this properties before beginging exporting. RowCount := 50; // ColCount := 20; // All Field Names FOR XSAYI:=0 TO QLIST.FIELDS.COUNT-1 DO BEGIN CELL[XSAYI,1].CellStyle:=1; CELL[XSAYI,1].DATA:=QLIST.FIELDS[XSAYI].FIELDNAME; END; // XSATIR:=2; // row. First row contain field XCOL:=0; // we transfer to all records to ZEXMLSS WHILE NOT QLIST.EOF DO BEGIN FOR XCOL:=0 TO QLIST.FIELDS.COUNT-1 DO BEGIN CELL[XCOL,XSATIR].CellStyle:=1; CELL[XCOL,XSATIR].DATA:=QLIST.FIELDS[XCOL].ASSTRING; END; QLIST.NEXT; INC(XSATIR); END; end; finally FreeAndNil(XMLSS); end; end; procedure TDOSYAVER.BTNEXCELClick(Sender: TObject); VAR XFILENAME : STRING; begin XFILENAME:='Report.XML'; XFILENAME:=UniServerModule.LocalCachePath+XFILENAME; RAPORHAZIRLA(XFILENAME); UniSession.sendFile(XFILENAME); end;
×
×
  • Create New...