Как я могу обрезать / заменить первый символ в FileStream в Delphi? - PullRequest
0 голосов
/ 13 января 2020

У меня есть следующий код для серии просадок файлов с использованием IDHttp.Get, содержимое файлов

procedure Tform1.GetData;
{***************************}

var
        fs2 : tfilestream;
        s : char;
begin
        Sleep(1000);
        idhttp1.HandleRedirects := TRUE;
        fsjson2 := tfilestream.Create((GstrPath+GstrRep+'-'+GstrHome+'.json'),fmcreate);;
        idhttp1.IOHandler := idssl;
        IdSSL.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
        IdSSL.SSLOptions.Mode := sslmUnassigned;
        try
                idhttp1.Get(GstrURL,fs2);
        except
                on E: Exception do
                begin
                        rememo1.Lines.Add('Seems to be an issue, trying again...');
                        Sleep(500);
                        idhttp1.Get(GstrURL,fs2);
                end;

        end;

Я бы хотел, чтобы был метод обрезки первого символа, хотя я не Не думаю, что это возможно, или замена первого символа (который поставляется с информацией по умолчанию) с пустым символом. Я думаю, что в данный момент это немного выходит за рамки моих навыков, и поэтому был бы признателен за любую помощь, которую кто-то может оказать.

Спасибо

Муравей

1 Ответ

1 голос
/ 13 января 2020

Существует несколько возможных решений:

Вы получаете данные в поток. Если вы хотите обрезать первый символ, вы можете в месте, где вы обрабатываете поток, пропустить чтение первого символа и выбросить его.

Если вы не можете контролировать, где обрабатывается принимающий поток, тогда Вы можете просто создать новый поток и l oop прочитать все символы из принимающего потока и записать их в целевой поток. Затем отбросьте полученный поток и оставьте тот, который вы создали.

Если полученные данные (в настоящее время поток) не слишком велики, вы можете получить их в строку вместо потока, тогда вы можете обрезать / удалите / вставьте что-нибудь простым манипулированием строкой и, наконец, запишите измененную строку обратно в поток для последующего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...