Corposemalma
-
Total de itens
1.393 -
Registro em
-
Última visita
Posts postados por Corposemalma
-
-
EU vi isso em um lugar... Se não me engano era em http://www.delphi.eti.br/
Mas eles estao com problema e ta fora do ar....
-
Poe um componente de imagem e:
CompImage.loadfromfile(caminho\ + LugarOndeEstaONumero)
Ou você pode tambem colocar a imagem dentro do banco de dados com um campo especial
-
Pra quem precisar:
-Transformando código HTML em RTF
Vou postar um link, pois a função é meio grandinha!
-
Ah.. o SP1 do office xp corrige isso.. mas o SP2 faz voltar.. kkkkk
Sabe quando tu ouve uma besteira e da um tapa da testa? então
Plac!valeu pelo aviso! Vou instalar os SP por aqui pra testar....
-
ai posso ta falando besteira mas não tem aquele lance do MBR pelo boot do windows??????????????
Aquele lance de aparecer 01010010010100 depois de remover o sistema de boot do linux é facil de resolver e só da com Win98 ou Win95. Acho que com o XP não vai aparecer....
-
Depende da marca (Ati e Nvidia) e versão do driver... Mas ambas estao no meu avançado das propriedades de video.. Quando tem os dois dispositivos conectados(Tv ou outro monitor), aparece um menu com as opcoes. La você deve escolher a opcao Clone ou Twin Vision....
-
e aí...
como faz pra fazer autorun... em um cd a partir de um arquivo pps? de powe point.... ?
brigado....
Cara... como fazer exatamente não sei... Mas faz o seguinte:
Pega um cd que tenha e olha o arquivo autorun.inf (que esta na raiz do cd)
Aqui vai um exemplo
[autorun]open=RunGame.exe
Icon=NFSU_icon.ico
Name=Need For Speed Underground
[special]
Disk=2
Ai é só mudar o dados... pro arquivo pps... deve funcionar
-
Ae Bolo! Achei uma Procedure que faz o serviço... Fiz uns testes(bem básicos) e ela dá suporte ao básico do Html....
Estava em um fórum de Delphi, então acho que deve ser Free não?
Pra não ter que enviar pra cada um por email, aqui vai:
(Mas se for útil pra quem pegar ela, deixa uma mensagem ai, pra gente saber! )
Tomara que funcione... não quero mexer nesse código ai... (Tá em alemão os nomes e comentário )
Se alguma alma caridosa quiser traduzir pra gente
procedure HTMLtoRTF(html: string; var rtf: TRichedit);var
i, dummy, row: Integer;
cfont: TFont; { Standard sschrift }
Tag, tagparams: string;
params: TStringList;
function GetTag(s: string; var i: Integer; var Tag, tagparams: string): Boolean;
var
a_tag: Boolean;
begin
GetTag := False;
Tag := '';
tagparams := '';
a_tag := False;
while i <= Length(s) do
begin
Inc(i);
// es wird nochein tag geöffnet --> das erste war kein tag;
if s = '<' then
begin
GetTag := False;
Exit;
end;
if s = '>' then
begin
GetTag := True;
Exit;
end;
if not a_tag then
begin
if s = ' ' then
begin
if Tag <> '' then a_tag := True;
end
else
Tag := Tag + s;
end
else
tagparams := tagparams + s;
end;
end;
procedure GetTagParams(tagparams: string; var params: TStringList);
var
i: Integer;
s: string;
gleich: Boolean;
// kontrolliert ob nach dem zeichen bis zum nächsten zeichen ausser
// leerzeichen ein Ist-Gleich-Zeichen kommt
function notGleich(s: string; i: Integer): Boolean;
begin
notGleich := True;
while i <= Length(s) do
begin
Inc(i);
if s = '= then
begin
notGleich := False;
Exit;
end
else if s <> ' ' then Exit;
end;
end;
begin
Params.Clear;
s := '';
for i := 1 to Length(tagparams) do
begin
if (tagparams <> ' ') then
begin
if tagparams <> '=' then gleich := False;
if (tagparams <> '''') and (tagparams <> '"') then s := s + tagparams
end
else
begin
if (notGleich(tagparams, i)) and (not Gleich) then
begin
params.Add(s);
s := '';
end
else
Gleich := True;
end;
end;
params.Add(s);
end;
function HtmlToColor(Color: string): TColor;
begin
Result := StringToColor('$' + Copy(Color, 6, 2) + Copy(Color, 4,
2) + Copy(Color, 2, 2));
end;
procedure TransformSpecialChars(var s: string; i: Integer);
var
c: string;
z, z2: Byte;
i2: Integer;
const
nchars = 9;
chars: array[1..nchars, 1..2] of string =
(('Ö', 'Ö'), ('ö', 'ö'), ('Ä', 'Ä'), ('ä', 'ä'),
('Ü', 'Ü'), ('ü', 'ü'), ('ß', 'ß'), ('<', '<'),
('>', '>'));
begin
// Maximal die nächsten 7 zeichen auf sonderzeichen überprüfen
c := '';
i2 := i;
for z := 1 to 7 do
begin
c := c + s[i2];
for z2 := 1 to nchars do
begin
if chars[z2, 1] = c then
begin
Delete(s, i, Length©);
Insert(chars[z2, 2], s, i);
Exit;
end;
end;
Inc(i2);
end;
end;
// HtmlTag Schriftgröße in pdf größe umwandeln
function CalculateRTFSize(pt: Integer): Integer;
begin
case pt of
1: Result := 6;
2: Result := 9;
3: Result := 12;
4: Result := 15;
5: Result := 18;
6: Result := 22;
else
Result := 30;
end;
end;
// Die Font-Stack Funktionen
type
fontstack = record
Font: array[1..100] of tfont;
Pos: Byte;
end;
procedure CreateFontStack(var s: fontstack);
begin
s.Pos := 0;
end;
procedure PushFontStack(var s: Fontstack; fnt: TFont);
begin
Inc(s.Pos);
s.Font[s.Pos] := TFont.Create;
s.Font[s.Pos].Assign(fnt);
end;
procedure PopFontStack(var s: Fontstack; var fnt: TFont);
begin
if (s.Font[s.Pos] <> nil) and (s.Pos > 0) then
begin
fnt.Assign(s.Font[s.Pos]);
// vom stack nehmen
s.Font[s.Pos].Free;
Dec(s.Pos);
end;
end;
procedure FreeFontStack(var s: Fontstack);
begin
while s.Pos > 0 do
begin
s.Font[s.Pos].Free;
Dec(s.Pos);
end;
end;
var
fo_cnt: array[1..1000] of tfont;
fo_liste: array[1..1000] of Boolean;
fo_pos: TStringList;
fo_stk: FontStack;
wordwrap, liste: Boolean;
begin
CreateFontStack(fo_Stk);
fo_Pos := TStringList.Create;
rtf.Lines.BeginUpdate;
rtf.Lines.Clear;
// Das wordwrap vom richedit merken
wordwrap := rtf.wordwrap;
rtf.WordWrap := False;
// erste Zeile hinzufügen
rtf.Lines.Add('');
Params := TStringList.Create;
cfont := TFont.Create;
cfont.Assign(rtf.Font);
i := 1;
row := 0;
Liste := False;
// Den eigentlichen Text holen und die Formatiorung merken
rtf.selstart := 0;
if Length(html) = 0 then Exit;
repeat;
if html = '<' then
begin
dummy := i;
GetTag(html, i, Tag, tagparams);
GetTagParams(tagparams, params);
// Das Font-Tag
if Uppercase(Tag) = 'FONT' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
if params.Values['size] <> '' then
cfont.Size := CalculateRTFSize(StrToInt(params.Values['size']));
if params.Values['color'] <> '' then cfont.Color :=
htmltocolor(params.Values['color']);
end
else if Uppercase(Tag) = '/FONT' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H1' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 6;
end
else if Uppercase(Tag) = '/H1' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H2' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 9;
end
else if Uppercase(Tag) = '/H2' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H3' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 12;
end
else if Uppercase(Tag) = '/H3' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H4' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 15;
end
else if Uppercase(Tag) = '/H4' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H5' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 18;
end
else if Uppercase(Tag) = '/H5' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H6' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 22;
end
else if Uppercase(Tag) = '/H6' then popFontstack(fo_stk, cfont)
else // Die H-Tags-Überschriften
if Uppercase(Tag) = 'H7' then
begin
// Schrift auf fontstack sichern
pushFontstack(fo_stk, cfont);
cfont.Size := 27;
end
else if Uppercase(Tag) = '/H7' then popFontstack(fo_stk, cfont)
else // Bold-Tag
if Uppercase(Tag) = 'B' then cfont.Style := cfont.Style + [fsbold]
else if Uppercase(Tag) = '/B' then cfont.Style := cfont.Style - [fsbold]
else // Italic-Tag
if Uppercase(Tag) = 'I' then cfont.Style := cfont.Style + [fsitalic]
else if Uppercase(Tag) = '/I' then cfont.Style := cfont.Style - [fsitalic]
else // underline-Tag
if Uppercase(Tag) = 'U' then cfont.Style := cfont.Style + [fsunderline]
else if Uppercase(Tag) = '/U' then cfont.Style := cfont.Style - [fsunderline]
else // underline-Tag
if Uppercase(Tag) = 'UL' then liste := True
else if Uppercase(Tag) = '/UL' then
begin
liste := False;
rtf.Lines.Add('');
Inc(row);
rtf.Lines.Add('');
Inc(row);
end
else // BR - Breakrow tag
if (Uppercase(Tag) = 'BR') or (Uppercase(Tag) = 'LI') then
begin
rtf.Lines.Add('');
Inc(row);
end;
// unbekanntes tag als text ausgeben
// else rtf.Lines[row]:=RTF.lines[row]+'<'+tag+' '+tagparams+'>';
fo_pos.Add(IntToStr(rtf.selstart));
fo_cnt[fo_pos.Count] := TFont.Create;
fo_cnt[fo_pos.Count].Assign(cfont);
fo_liste[fo_pos.Count] := liste;
end
else
begin
// Spezialzeichen übersetzen
if html = '&' then Transformspecialchars(html, i);
if (Ord(html) <> 13) and (Ord(html) <> 10) then
rtf.Lines[row] := RTF.Lines[row] + html;
end;
Inc(i);
until i >= Length(html);
// dummy eintragen
fo_pos.Add('999999');
// Den fertigen Text formatieren
for i := 0 to fo_pos.Count - 2 do
begin
rtf.SelStart := StrToInt(fo_pos);
rtf.SelLength := StrToInt(fo_pos[i + 1]) - rtf.SelStart;
rtf.SelAttributes.Style := fo_cnt[i + 1].Style;
rtf.SelAttributes.Size := fo_cnt[i + 1].Size;
rtf.SelAttributes.Color := fo_cnt[i + 1].Color;
// die font wieder freigeben;
fo_cnt[i + 1].Free;
end;
// die Paragraphen also Listen setzen
i := 0;
while i <= fo_pos.Count - 2 do
begin
if fo_liste[i + 1] then
begin
rtf.SelStart := StrToInt(fo_pos[i + 1]);
while fo_liste[i + 1] do Inc(i);
rtf.SelLength := StrToInt(fo_pos[i - 1]) - rtf.SelStart;
rtf.Paragraph.Numbering := nsBullet;
end;
Inc(i);
end;
rtf.Lines.EndUpdate;
Params.Free;
cfont.Free;
rtf.WordWrap := wordwrap;
FreeFontStack(fo_stk);
end;
-
Talvez o contorno das letras do nome um pouco mais forte... (pra mim)
HUAhuahu ta massa cara! Só pede pro cara mudar o nome da marca Zueiraaa
-
O problema é que de qualquer maneira você vai precisar de um monitor para poder configurar a placa
-
Brasil jogando com a Hungria? Quando?
-
Primeiro: você ta apresentando o codigo e pedindo ajuda, é bem diferente ao que o pessoal faz que geralmente é assim:
(Preciso enviar um email pelo meu sistema, da pra mandar o códogio?)
Acho eu que é a seguinte:Append = cria um novo registro no fim da tabela
Insert= cria um registro entre a linha em que o ponteiro da tabela está e a próxima(talvez copie os dados da linha do ponteiro, mas não sei)
AEEEEEEEE
Cara ACHO que já saquei teu problema!
você ta dando um append e depois procurando pelo código, acontece que quando você procura pelo código, o append (ou insert) é cancelado ou postado, ai cria o campo vazio!!!... E aquele erro de Db é quando vai setar o dado no campo a tabela não esta em edicao ou insercao de dados, ta ai o motivo daquele append que tu suspeitava que não precisa!
então fica a pergunta: O usuario realmente precisa preencher o código, não seria melhor o sistema gerar ele? Se o usuario precisa, voce vai ter que reformular esse código e arranjar uma maneira de colocar a checagem de codigo antes do append....
outra: Algumas melhorias que você pode pensar a respeito:
Tem coisas se repetindo(insert, depois append) você ta dando um insert no botao e um append no show do Form
Ao invés daquele procedimento aprenda a utilizar as propriedades TAG dos form por exemplo:
formcadastro.tag := 0formcadastro.showmodal
formcadastro.tag := 1formcadastro.showmodal
If tag = 0 thenbegin
tabela.append;
end
else
begin
tabela.edit;
end;
O unico problema, é que eu sempre acho que é alguma coisa
Editei o tópico umas 20 vezes ate ficar assim
Se esse for realmente o erro, pode ficar calmo que não é de DB, mas de lógica... HAUHUAUHA
-
No que as estruturas se diferem?
Se for somente pra automatizar o processo usa um While not +- assim:
datamodule.tabelaVELHA.firstWhile not datamodule.tabelaVELHA.eof do
begin
datamodule.tabelaNOVA.append
Iguala os campos delas
datamodule.tabelaNOVA.post
datamodule.tabelavelha.next
end;
-
chave de fenda é o q num falta aki em casa, tem pra todos os tamanhos e gostos.....
Cuidado com esse tipo de coisa
hauhauhau
Mas quando tem que mexer na pasta termica, ai não tem outra solucao senao tirar o dissipador
-
Só uma ideia(talvez, quase certeza, alguém aqui tenha uma melhor):
Voce poderia criar uma tabela temporária para inserir os restantes dos items, com os mesmos dados da nota... ai somente geraria dois reports (um pra com 30 itens, e outro pro restante...)
você está imprimindo direto ou jogando em tela primeiro?
-
Opa! Se for Slot A não tem muito perigo não!
Só cuidado para não aperta o dissipador de um lado...
Pra tirar basta levantar duas travinhas laterais que o slot tem!
Se não souber fazer, peça para alguém que saiba como tirar para te mostrar
Agora se for SOCKET A (462), eu aconselho a ter bastante cuidado, se possivel tirar a placa mae, processador e cooler do gabinete, fazer o serviço em uma mesa bem firme, achar uma chave do mesmo tamanho do engate do clip(pra não correr o risco dela escapar e bater na placa mae! você pode quebrar tudo assim )
Na hora de tirar o clip com a chave, o macete é aperta para baixo até chegar perto da placa, dar uma leve(muiiito leve) torcida na chave pra ela pegar mais firmeza, e ai empurrar ela en direção ao cooler para tirar...
Mas te garanto uma coisa: experiencia só vem tentando mesmo... E eu mesmo com 2 anos de prática e muitos coolers trocados ainda suo frio quando tenho que fazer isso, ainda mais quando vejo que o cooler é da CoolerMaster
Da proxima vez, gaste um pokinho mais e compre um Cooler com clip melhorzinho!
Ah! Se estiver com muito panico, outra solução para isso seria meter um aspirador soprando o pó do cooler HUAAHUAH e se a sujeira muito grossa não sair, tira com um palitinho... Mas a qualidade do serviço não será a mesma....
-
Retorna os valores em coordenadas (integer);
Mouse.CursorPos.X
Mouse.CursorPos.y
Bem simples não?
Agora que vi! Aquele ; depois de (integer), não precisava estar ali... Muito Delphi pra minha cabeça! huahuaau -
Alguém conhece algum componente (ou maneira) que seja capaz de tranformar HTML em RTF, estive procurando bastante tempo no google pelo mesmo e somente consegui um componente que transforma RTF em HTML...
Ou melhor: algum site que contenha componentes diversos (de preferencia Free)...
Já dei uma olhada nos:
http://www.activedelphi.com.br <- não achei nada do tipo
http://www.delphi.eti.br <- está fora do ar
Só estou pedindo por que não achei em lugar algum...
Valeu!
-
Muito obrigado pelas sugestões Diraol, procurarei adquirir um destes coolers assim que possível.
Muito obrigado também a atenção de todos neste caso. Até a próxima.
AH! da uma olhada se não tem poeira no cooler do processador....
Foi isso que eu quis falar
Outra coisa que pode ajudar é colocar um cooler pra tirar o ar quente do pc (se a temperatura da placa mae estiver alta tb), você pode ver isso no setup.
Outra coisa importante:
Antes de mexer no seu cooler, de uma olhada nesse tutorial: Cuidados ao colocar um cooler em Processadores AMD
Feito por mim
-
Exato! O erro acontece, porque não existe um indice para o campo Nome, entende? você tem que mexer na estrutura da tabela e lá criar um indice Secundário para esse campo... não sei bem como fazer isso em paradox... Vai ter que achar algum tutorial por ai
-
Tu viu o link que eu passei? Era pra windows!
GTK+ 2 for Windows (version 2.2.4-20040124)
-
Da uma olhada nos coolers, se estão girando ok, ou se não estao muito empoeirados! a sujeira pode estar prejudicando e fazendo com que ele sobreaqueça
-
Vixi... é isso que tu quer?
http://www2.arnes.si/~sopjsimo/gimp/stable.html
Talvez se fosse postasse no forum de linux, seria mais facil o pessoal la deve saber...
Esse GTK é pra Linux certo?
vai no google e digita:
GTK+ 2.0 for windows
-
3 Sites muito interessantes que podem ter o que você quer:
Autorun
em Microsoft Windows
Postado
Digamos que o nome do pps é "MEU"
Qualdo gravar o cd ele deve estar na raiz do cd (diretorio base), junto com o autorun.inf (você pode criar ele no notepad) contendo esses dados:
PowerPNT chama o Power Point DUUUH e carrega o arquivo que vem depois do espaço! Mas olhá! isso ai vai dar erro em maquinas que não tem o Power Point
Um erro do tipo: não foi possivel encontrar POWERPNT.....