Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Nudou jsi opuch?
Navštiv Lopuch!

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Archiv klubu C, C++ [ŽP: neomezená] (kategorie Programování) moderuje Šéf Lopuchu.

Články

Jak bezpečně ukončit vlákno z DllMain
FastAllocPool - urychlení častých alokací a dealokací
Akce a zpráva jako objekt
Tuply v C++
Efektivní alokátor malých objektů a tady druhý a třetí díl
Šablony: Být vládce kvalifikátorů
Vracíme z funkce objekty
Základy komunikace mezi procesy (ve Windows)
Multiple Interface a Instance Factory
Multithreading v C++ (ve Win32)
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
   
[ 280 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
trofozoit Trofozoit DNA, DNA - come out and play 5.2.2005 12:33  253
Jo, to byste nevěřili, jak je otravný neustále přepisovat i krátký sekvence DNA, když potřebujete vědět jak by vypadal opačný řetězec (v databázích je obvykle jen jeden a když ho tam máte najít opačně je to hrůza) ;)

No ještě k tomu kódu, tak nějak jsem většinu rozluštila, až na ten řádek
char * pString;
(a i trochu ten další co obsahuje taky pString), není mi jasný, co vlastně dělá.. "*" většinou tak nějak spojuje řetězce, ale tady není nic čemu by se to přiřadilo, žádný "něco=", nebo se pletu? Tak co to vlastně znamená? (že by nějaký převod..?)
Jinak ty věci psané velkým písmem, chápu dobře že v podstatě zastupují třeba int nebo tak, nějaký typ definice? Který jsou nejspíš popsané někde v těch includech protože nejdou zrovna najít :)
mpts mpts Je to jinak, ba přesně naopak! 5.2.2005 12:09  252
Mně by to úchylné přišlo také, nemít již na woknous dávno svůj názor. :-))
al3x 4.2.2005 23:43  251
Uchylne to prijde i mne.
ender Ender 4.2.2005 23:08  250
Ctu ty pismenka a rikam si "To jsem se nekde ucil, ne?" - ze by neco s DNA? :o)

Kdokoliv - no co by? dostane to to, co jsi tam vrazil, takze v lpCmdLine bude "c:\program files" "c:\documents and settings" (vse s tema uvozovkama).
Nevim proc by to melo byt uchylne, proste to nijak neparsuje parametry.
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 4.2.2005 16:49  249
Nahodou me nejaka biologie taky napadla, ale ne zas az tak presne. :-)

Kdyz tak koukam na ten zdrojak a ten komentar tam (nikdy jsem pro Win v C neprogramoval) - co prijde v tom lpCmdLine, kdyz to zavolam program "c:\program files" "c:\documents and settings"? Prijde to i s tema uvozovkama? (To by bylo pekne uchylny.) V pripade, ze nikoliv, jak u toho rozeznam mezeru v ramci jednoho parametru od mezery oddelujici jednotlive parametry?
trofozoit Trofozoit DNA, DNA - come out and play 4.2.2005 15:23  248
AL3X má bod ;)
al3x 4.2.2005 15:07  247
He. To jsou prece komplementarni dusikate baze, ne?
trofozoit Trofozoit DNA, DNA - come out and play 4.2.2005 10:16  246
Bredy: Přesný zadání mám, je zhruba takhle:

po zadání: program.exe parametr

chci aby vzal řetězec "parametr", převedl na malý písmena, zaměnil v něm písmena A,C,T,G za T,G,A,C, převrátil pořadí a poslal výsledek do clipboardu.
V podstatě to ani nebudu nikdy vypisovat, hodlám ten program spouštět externě, nebudu tam chtít jiné parametry jen ten jeden.

Ovšem přišlo mi na tom nejsložitější část ty operace s windowsím clipboardem a vůbec běh pod windows, myslím že tu samotnou záměnu bych mohla nějak zvládnout.

Ender: Díky moc, já se tím zkusím prokousat :)
ender Ender 4.2.2005 00:15  245
Asi jsem to mel trochu okomentovat:

Vsechny ty funkce GlobalXYZ pracuji s globalni pameti - to je nutne abys to mohla predat do schranky. Do schranky to potom das pomoci te sekvence funkci XYZClipboard.
Nakonec uvolnis ten kousek globalni pameti. (GlobalFree)

Melo by to byt z toho zdrojaku jasne, ale to jen pro jistotu.
ender Ender 4.2.2005 00:07  244
Tady je kostra minimalniho funckniho programu pod windows, vypreparoval jsem to z toho, co mi vygeneroval wizard VS.NET...


Parametr z prikazove radky je v lpCmdLine.
lpCmdLine :
[in] Pointer to a null-terminated string specifying the command line for the application, excluding the program name. To retrieve the entire command line, use the GetCommandLine function.

Jak manipulovat s Clipboardem jsem tam ukazal na jednoduchem zkopirovani paramtru do clipboardu...

#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers

#include <windows.h>
#include <tchar.h>
#include <winuser.h>
#include <string.h>

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    GLOBALHANDLE hGlobal;
    DWORD dwSize = strlen(lpCmdLine);
    char * pString;
    
    hGlobal = GlobalAlloc(GMEM_MOVEABLE | GMEM_SHARE, dwSize+1); 
    pString  = (char *) GlobalLock(hGlobal);
    memcpy(pString, lpCmdLine, dwSize); 
    GlobalUnlock(hGlobal);
    
    OpenClipboard(NULL);
    EmptyClipboard();
    SetClipboardData(CF_TEXT, hGlobal);
    CloseClipboard();
    
    GlobalFree(hGlobal);
    
    return 0;
}
bredy 3.2.2005 21:35  242
TrorozoitNo máš dvě možnosti.
Buď to začneš Cčkem, nebo to dáš někomu napsat a pak reverznim inženýrstvím analyzuješ výsledný zdroják.

Nejprve by to asi chtělo přesné zadání, v tomhle případě asi přesně napsat, co je vstupem, a jaké mají být na vstupy výstupu (laicky řečeno, co má program udělat na nějaké jednoduché příklady zadané na příkazovém řádku). Postupně z toho můžem navrhnout strukturu celého programu.
A když říkám přesně, tak přesně, v textu se nesmí vyskytnout slova "nějak" "nějaký" "asi" nebo "možná"
trofozoit Trofozoit DNA, DNA - come out and play 3.2.2005 20:08  241
Primitivní dotaz..

Chci si udělat .exe soubor, který by prováděl určité jednoduché věci s textovým řetězcem, který by se mu dostal parametrem příkazového řádku a výsledek vracel do windowsího clipboardu.
Přitom potřebuju aby jinak nedělal vůbec nic, žádný okno, žádný vyskakování něčeho, jen to provedl a zavřel se, nejlépe o něm vůbec nevědět.
V céčku jsem nikdy nic nepsala, ale ta část převodu textu se bude dát někde najít, jen s tím ostatním bude problém, všechny tutorialy začínají výpisy v příkazovým řádku a o to vůbec nestojím, navíc ho chci co nejmenší, includovat jen to maximálně potřebné (ten převod textu zahrnuje jen záměnu písmen a přehození pořadí, na což nejsou myslím potřeba nějaké funkce) a hlavně netuším co je potřeba k odeslání do clipboardu. Takže bych potřebovala poradit s tím začátkem (kderak dostat do proměnné swich) a co includovat a koncem (kterak dostat proměnnou do clipboardu). Teda pokud to jde, snad.

(a doufám že mezitím zas nebude další odnavštěvování, nebo na tuhle kategorii zase úplně zapomenu ;)
bredy 31.1.2005 21:17  240
KdokolivOno v C++ jde o to, že defacto ty knihovny mas casto predlozene ve zdrojovych kodech. Jde pak o to, zda prijmes vlastne fakt, ze funkce scanf, printf atd jsou implementované v C, které vlastne neodpovídá specifikaci (pokud je printf ve specifikaci, pak musí existovat už v době, kdy jej implentuješ :o)
kdokoliv Kdokoliv Nevidím důvod dělat cokoliv bezdůvodně. - http://kkl2401.wz.cz 31.1.2005 08:48  239
Ono by to chtelo asi nahlednout do ANSI (nebo jake) C++ specifikace, tam by to melo byt napsane. Treba cet jsem specifikaci ECMAScriptu, tam je proste receno, ktere objekty jsou soucasti jazyka, vse ostatni pak jsou jednotliva pouzitelna API (napriklad DOM a podobne).
mpts mpts Je to jinak, ba přesně naopak! 31.1.2005 00:39  238
Bredy: Je to jen věc vymezení, ale v mém chápání funkce, proměnné, konstanty, makra atd. ze standardní knihovny do jazyka patří právě tak jako jeho syntaxe, klíčová slova atd.

[ 280 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt