0
5 месяцев назад

Горизонт Горизонт

Основная информация

Время обучения: Суббота 11.40-13.40
Дополнительное занятие: Вторник 17.20 

Стена группы

Нз 1 месяц назад #

Изображение

Богдан С 1 месяц назад #

Изображение

Богдан С 1 месяц назад #

Изображение

Seledochka 1 месяц назад #

Изображение

Давид 1 месяц назад #

Изображение

Нз 1 месяц назад #

Изображение

Нз 1 месяц назад #

Изображение

Богдан С 1 месяц назад #

Изображение

АрсКодер 1 месяц назад #

procedure TForm1.Button1Click(Sender: TObject);
var
  Employees: TEmployeeArray;
  Emp: TEmployee;
begin
  Employees := LoadEmployeesFromCSV('employees.csv');

  // Пример вывода в Memo или консоль
  for Emp in Employees do
  begin
    Memo1.Lines.Add(Format('%s %s %s — %s, тел: %s, родился: %s',
      [Emp.LastName, Emp.FirstName, Emp.MiddleName,
       Emp.Position, Emp.Phone,
       DateToStr(Emp.BirthDate)]));
  end;
end;

АрсКодер 1 месяц назад #

type
  TEmployee = record
    LastName: string;
    FirstName: string;
    MiddleName: string;
    Position: string;
    Phone: string;       // или Int64, если только цифры и без формата
    Email: string;
    BirthDate: TDate;    // дата в формате Delphi
    Address: string;
  end;

  TEmployeeArray = array of TEmployee;


---


uses
  System.SysUtils, System.Classes, System.DateUtils, System.StrUtils;

function LoadEmployeesFromCSV(const FileName: string): TEmployeeArray;
var
  CSVFile: TStringList;
  i: Integer;
  Fields: TArray<string>;
  Emp: TEmployee;
  Line: string;
begin
  SetLength(Result, 0);
  if not FileExists(FileName) then
    Exit;

  CSVFile := TStringList.Create;
  try
    CSVFile.LoadFromFile(FileName, TEncoding.UTF8); // Укажите кодировку, если нужно

    // Пропускаем заголовок (первую строку)
    if CSVFile.Count > 0 then
      CSVFile.Delete(0);

    for i := 0 to CSVFile.Count — 1 do
    begin
      Line := Trim(CSVFile[i]);
      if Line = '' then
        Continue;

      // Разделяем строку по запятым (базовый CSV-парсинг)
      // ⚠️ В реальном проекте лучше использовать полноценный CSV-парсер,
      // чтобы обрабатывать запятые внутри кавычек и т.п.
      Fields := SplitString(Line, ',');

      if Length(Fields) <> 8 then
        Continue; // Пропускаем строки с неправильным количеством полей

      Emp.LastName   := Fields[0];
      Emp.FirstName  := Fields[1];
      Emp.MiddleName := Fields[2];
      Emp.Position   := Fields[3];
      Emp.Phone      := Fields[4]; // или StrToInt64Def(Fields[4], 0) — если нужен числовой тип
      Emp.Email      := Fields[5];

      // Преобразуем дату из формата «дд.мм.гггг» в TDate
      if not TryStrToDate(Fields[6], Emp.BirthDate, 'dd.mm.yyyy') then
        Emp.BirthDate := 0; // или пропустить запись

      Emp.Address    := Fields[7];

      // Добавляем в массив
      SetLength(Result, Length(Result) + 1);
      Result[High(Result)] := Emp;
    end;

  finally
    CSVFile.Free;
  end;
end;

АрсКодер 1 месяц назад #

Realistic photo animation of a black-and-white historical photograph. Subtle, natural motion only: gentle blinking, slight head movement, soft breathing, wind in hair or clothes — nothing exaggerated. Preserve original facial features, clothing, and background details. No fantasy elements, no colorization unless specified. Maintain vintage film grain and authentic 20th-century aesthetic. Cinematic, documentary-style, emotionally grounded.

Нз 2 месяца назад #

как фиксить

Изображение

Игнат 2 месяца назад #

ИзображениеИзображениекак это чинить

1 ответ
Даниил К 2 месяца назад #

procedure ReplaceTextInWordDocument(const FileName, FindText, ReplaceText: string);
const
  wdReplaceAll = 2;
var
  WordApp, WordDoc, Find: OleVariant;
begin
  WordApp := CreateOleObject('Word.Application');
  try
    WordApp.Visible := False; // Или True — если нужно видеть процесс

    // Открытие документа
    WordDoc := WordApp.Documents.Open(FileName);

    // Получаем Find у всего содержимого документа
    Find := WordDoc.Content.Find;
    Find.ClearFormatting;
    Find.Replacement.ClearFormatting;

    // Настройка текста для поиска и замены
    Find.Text := FindText;
    Find.Replacement.Text := ReplaceText;

    // Выполнение замены
    Find.Execute(Replace := wdReplaceAll);

    // Сохраняем и закрываем документ
    WordDoc.Save;
    WordDoc.Close(False);
  finally
    WordApp.Quit;
  end;
end;

Сайт АрсКодер использует cookie 🍪.