Fórum Posição palavra no memo #154577
13/04/2003
0
Como faço para colocar uma palavra no memo em uma certa posição,não importando o tamanho
da palavra anterior?Exemplo;
0001 lugar (até aqui eu ja resolví) PALAVRA FIXA .
0002 lugar maior PALAVRA FIXA .
Estou usando o Edit pra colocar a palavra.
No começo do memo tem a palavra do edit,mais pra frente vai ter uma
palavra de uma variavel(tudo na mesma liha,formando linha 1)
mesma coisa pra linha 2 e etc.
Kroki
Curtir tópico
+ 0Posts
13/04/2003
Theofernandes
Por favor, crie um exemplo de texto e o que você gostaria de incluir nele para que eu possa entender.
Sorry...
Gostei + 0
15/04/2003
Kroki
s2:=Copy(memo1.Lines.Strings[a],11,4);
Caption:=s2;
Quero dizer,quero colocar uma palavra nessa posição.
Gostei + 0
15/04/2003
Theofernandes
Tenho a string ´esta é uma string de teste´
Quero inserir a string ´, somente,´ entre ´é´ e ´uma´.
Insert(´, somente,´, variaveldastring, 7);
Ficará assim: ´esta é, somente, uma string de teste´
ou assim, de repente:
Insert(´, somente,´, Pos(´é´, variaveldastring)+1);
Se ainda não for assim, me explique com mais detalhes.
Gostei + 0
16/04/2003
Kroki
A string vai estar numa variavel´S´.
O texto>´0001 alguma coisa S ´.
Tenho o texto alinhado até a palavra´alguma coisa´,daí pra frente quero colocar uma palavra(mas em uma posição mais pra frente).
Desse modo depois do numero se a palavra for maior,a palavra S não vai desalinhar.
Veja como esta meu memo;
0001 LD A,B $378. Mas a palavra LD A,b poderia ser´LD A,(HL)´.
0001 LD A,(HL) $379. Eu uso 4 espaços antes de ($378,379...etc)
para não deixar o numero colado a palavra anterior,mas como viu,ela pode ser maior desalinhando tudo.SE eu puder escolher a posição da ultima palavra poderia evitar isso.
Gostei + 0
16/04/2003
Edmar Zatarin
Pois entao se eh isso, vc pode fazer assim:
procedure TForm1.Button1Click(Sender: TObject);
var j: Integer;
aux : String;
InserePalavra : string;
begin
if trim(Memo1.Lines.Strings[i]) = ´´ then
Memo1.Lines.Add(´´);
InserePalavra := edit1.text;
aux := ´´;
for j := 1 to length(Memo1.Lines.Strings[i]) do
begin
if (Copy(Memo1.Lines.Strings[i], j, 1) <> ´ ´)
and (Copy(Memo1.Lines.Strings[i], j, 1) <> ´´) then
aux := aux + Copy(Memo1.Lines.Strings[i], j, 1);
end;
InserePalavra := aux + ´ ´ + InserePalavra;
Memo1.Lines.Strings[i] := InserePalavra;
i := i + 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i := 0;
end;
senao eh isso que deseja, vc pode alterar esse algoritmo pra fazer outras coisas senao por favor, especifique melhor sua duvida.
valeus...
abracao....
Gostei + 0
16/04/2003
Kroki
Se resolver isso,tambem serve.No meu Edit,toda palavra que digito sempre tem 4 espaços a esquerda para alinhamento.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
hexa : String ;
digitos : integer;
w:integer;
u:integer;
codigo:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
codigo:=´ $378´;
digitos := 4;
hexa :=IntToHex (u,digitos);
inc (u);
Edit1.Text :=´ ´+Trim(Edit1.Text);
Memo1.Lines.add(hexa+Edit1.Text+codigo);
end;
end.
Digite CASA e depois CASA GRANDE.Não quero o ´$378´desalinhado
Gostei + 0
16/04/2003
Kroki
Onde esta´$378´ tem 4 espaços antes de $378.
No codigo´Edit1.Text :=´ ´+Trim(Edit1.Text); ´ são 4 espacos dentro de ´ ´.
Gostei + 0
16/04/2003
Kroki
procedure TForm1.Button1Click(Sender: TObject);
Var S: String;
s2:string;
begin
s2:=´0001 ´;
S := ´ ´+Trim(Edit1.Text); {pode ser ´ ´(espaço)}
Edit1.Text := Copy( S, Length(S)-10,11);
Memo1.Lines.Add(s2+Edit1.Text+´ $378´);
end;
Testem com um Memo,Um Edit e um Button e coloque 2 espaços depois de
´0001´ , 11 espaços em ´S:=´´ e 4 espaços no começo em ´$378´.
Desse modo ha um alinhamento á esquerda,digite uma palavra com 4
letras e depois uma com 8.
É possível fazer exatamente isso mas com a palavra deslocando pra direita?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)