Importação de Arquivos Dat com Substituição de Texto
13/09/2017
0
Boa noite,
Estou importando um arquivo DAT em um ListView, preciso que antes que seja feita a importação o programa procure a expressão nos itens e que essa mesma expressão seja substituída pelo texto de um Edit.
Exemplo:
Item original no arquivo .dat: "As 7 maravilhas do "
Texto do Edit: "Emagrecimento"
Item importado no Listview: "As 7 maravilhas do Emagrecimento"
Como eu poderia fazer isso?
Estou importando um arquivo DAT em um ListView, preciso que antes que seja feita a importação o programa procure a expressão nos itens e que essa mesma expressão seja substituída pelo texto de um Edit.
Exemplo:
Item original no arquivo .dat: "As 7 maravilhas do "
Texto do Edit: "Emagrecimento"
Item importado no Listview: "As 7 maravilhas do Emagrecimento"
Como eu poderia fazer isso?
Lucas Bernieri
Curtir tópico
+ 0
Responder
Posts
13/09/2017
Lucas Bernieri
Estou usando o seguinte código:
Continuação dos códigos:
procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ListView1Data(Sender: TObject; Item: TListItem); procedure BtnLoadFromFileClick(Sender: TObject); private procedure LoadFromFile(AFileName: string); public { Public declarations } end; TMyRecord = record name: string; address: string; floatfield: Single; integerfield: Integer; end; var Form1: TForm1; MyList: TList<TMyRecord>;
Continuação dos códigos:
procedure TForm1.FormCreate(Sender: TObject); begin MyList := TList<TMyRecord>.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin MyList.Free; end; procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); begin Item.Caption := MyList[Item.Index].name; Item.SubItems.Add(MyList[Item.Index].address); Item.SubItems.Add(FloatToStr(MyList[Item.Index].floatfield)); Item.SubItems.Add(IntToStr(MyList[Item.Index].integerfield)); end; procedure TForm1.LoadFromFile(AFileName: string); var MyFileStream: TFileStream; MyBinaryReader: TBinaryReader; temprecord: TMyRecord; I, TempNumber: Integer; begin MyFileStream := TFileStream.Create(AFileName, fmOpenRead); MyBinaryReader := TBinaryReader.Create(MyFileStream, TEncoding.Unicode, false); MyList.Clear; try TempNumber := MyBinaryReader.ReadInteger; for I := 0 to TempNumber - 1 do begin temprecord.name := MyBinaryReader.ReadString; temprecord.address := MyBinaryReader.ReadString; temprecord.floatfield := MyBinaryReader.ReadSingle; temprecord.integerfield := MyBinaryReader.ReadInteger; MyList.Add(temprecord); end; ListView1.Items.Count := MyList.Count; MyBinaryReader.Close; finally MyBinaryReader.Free; MyFileStream.Free; end; end; procedure TForm1.BtnLoadFromFileClick(Sender: TObject); begin if OpenDialog1.Execute then LoadFromFile(OpenDialog1.FileName); end; end.
Responder
Clique aqui para fazer login e interagir na Comunidade :)