Title: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: miaou on December 14, 2010, 12:30:56 pm Βοηθώντας μια φίλη, προοθώ το παρακάτω μήνυμα...
=========================================================================== Αγαπητέ/ή......, θα θέλαμε να συμμετάσχεις σε μια έρευνα που πραγματοποιεί το τμήμα ψυχολογίας με κύριο θέμα τον τρόπο με τον οποίο το άτομο διαχειρίζεται το χρόνο του. Η έρευνα γίνεται ηλεκτρονικά, και το μόνο που έχεις να κάνεις είναι να συνδεθείς στη διεύθυνση που αναφέρεται παρακάτω ώστε να συμπληρώσεις τα ερωτηματολόγια που περιλαμβάνονται σε αυτή. Η διαδικασία είναι πολύ απλή και δεν διαρκεί περισσότερο από 10 λεπτά. Για μας, η συμμετοχή σου είναι πολύ σημαντική και γι' αυτό θα θέλαμε να σε ευχαριστούμε προκαταβολικά. Τέλος, θα θέλαμε να σε διαβεβαιώσουμε ότι η συμπλήρωση των ερωτηματολόγιων είναι ανώνυμη ενώ όλα τα δεδομένα που θα συγκεντρωθούν θα χρησιμοποιηθούν μόνο για τους σκοπούς της συγκεκριμένης έρευνας. Η διεύθυνση είναι η εξής: https://spreadsheets.google.com/viewform?formkey=dER0OVY2T0hvRm5HT2Z6MWFNcXF3RVE6MQ (https://spreadsheets.google.com/viewform?formkey=dER0OVY2T0hvRm5HT2Z6MWFNcXF3RVE6MQ) Σε ευχαριστώ πολύ Μ.Σ. ========================================================================== tx :) :) Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Μάρω on December 14, 2010, 12:40:27 pm Περιμένουμε εναγωνίως τα αποτελέσματα! ^innocent^
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 14, 2010, 13:13:54 pm :(
εγώ περίμενα να μου πει ότι είμαι γαμάτος... θα πρέπει να περιμένω τώρα για την πιστοποίηση... Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: pepper ann on December 14, 2010, 22:00:51 pm Πότε θα βγουν τα αποτελέσματα της έρευνας? :)
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: miaou on December 15, 2010, 10:59:05 am Με επικοινωνία που είχα με την Κρήτη, μου είπαν ότι ακόμα δε ξέρουν γιατί δεν έχουν συγκεντρώσει μεγάλο δείγμα....
Γι αυτό αν γίνεται προωθήστε σε γνωστόυς :) ευχαριστώ πολύ............ :) :) :) :) Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Katarameno on December 15, 2010, 17:33:07 pm >:( Τι κατάσταση είναι αυτή με εσάς τους ψυχολόγους??? Γιατί δε κάνετε τα ερωτηματολόγια στις σχολές σας να δούμε και εμείς τα δικά σας αποτελέσματα στα τεστ σας? Και κάτι άλλο? Για τι μας περάσατε? Για πειραματόζωα? Για την πάγια και δωρεάν ανεξάντλητη πηγή πληροφόρησης? Και για τι θέμα???? Για το πως διαχειριζόμαστε τον χρόνο μας??? Όπως γουστάρουμε και λογαριασμό δε δίνουμε. Πάντως με καλύτερα πράγματα από το να συμπληρώνουμε ερωτηματολόγια για να τσιμπάνε κάποιοι τα φράγκα από την έρευνα που κάνουν. Οι ερωτήσεις είναι επιπέδου κατίνας της γειτονιάς και πιο αόριστες δεν γίνονται. Πρέπει να έχουν πολύ θράσος μερικοί.
Ελπίζω να έχετε πάρει άδεια από την Αρχή Προστασίας Δεδομένων Προσωπικού Χαρακτήρα για την βάση δεδομένων που τηρείτε, σωστά? Άντε γιατί δευτέρωσε το κακό με τα δειγματοληπτικά σας φακελλώματα. Που θα το προωθήσουμε κιόλας. Τίποτα άλλο θέλετε? Καμιά ενίσχυση? Τα κουβαδάκια σας και σε άλλη παραλία. Τσαούσες * Και για να μην γκρινιάζετε οτι δε σας απάντησα και τις ερωτήσεις, να τι κάνω όλη μέρα : γαμάω περίεργους που ρωτάνε αδιάκριτες ερωτήσεις. Και νιώθω υπέροχα. Ακους εκεί ερώτηση: Είμαι πεπεισμένος ότι λαμβάνω την επιτυχία που δικαιούμαι στη ζωή. (!!!) Μερικές φορές νιώθω θλιμμένος. * (Δηλαδή υπάρχει κανένας που δεν ένιωσε ποτέ θλιμμένος? Πάτε καλά ρε σεις? Προφανώς και όχι, μάλλον θα έχετε χαζέψει ομαδικώς εκεί στο Ψυχολογίας Κρήτης) Και όχι αγαπητή Miaou, δεν βοηθάς μια φίλη σου, βοηθάς το εθελοντικό φακέλλωμα διαθέσεων και άκρως προσωπικών δεδομένων, όπως το τι κάνει ο καθένας και πως νιώθει ο καθένας, βασιζόμενο στην ανυποψία ή αφέλεια ή διάθεση για βοήθεια που διακατέχει τις ηλικίες των μικρών σε ηλικία φοιτητών. Εγώ είμαι στα 38 μου και τέτοιες πουστιές δεν τις αντέχω ούτε να τις βλέπω μπροστά μου. Δε φταις ούτε εσύ ούτε όσοι καλή τη πίστη συμπλήρωσαν ή θα συμπληρώσουν τα ερωτηματολόγια. Ας απαντήσουν πρώτα το που και πως θα χρησιμοποιηθούν τα στοιχεία που θα μαζευτούν, ποιος μας εγγυάται οτι δεν θα μοσχοπουλιούνται σε κάθε διαφημστική ή άλλη ιδιωτική εταιρία, και το κυριώτερο: Τι σκατά συμπέρασμα μπορούν να βγάλουν οι ψυχολόγοι από το : Εγώ ορίζω τι θα συμβεί στην ζωή μου. * ??? Και ναι, έχω ανεβάσει πίεση με αυτές τις μαλακίες, και αυτό δε χρειάζεται να είσαι Ψυχολόγος για να το καταλάβεις, είναι προφανές. Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Lampros on December 15, 2010, 17:53:42 pm Προβλήματα στο σεξ???? ;D
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Nessa NetMonster on December 15, 2010, 18:47:31 pm Ω ναι, τι άθλιο να μας φακελώνουνε εμάς τα κορόιδα με αυτό το ανώνυμο ερωτηματολόγιο...
Μα πόσο ηλίθιοι είναι μερικοί άνθρωποι... Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστ_ Post by: Turambar on December 15, 2010, 19:04:03 pm @καταραμένο πάρε το πρόζακ σου και βαθιές ανάσες...
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Katarameno on December 15, 2010, 20:58:41 pm Α, πάλι εσύ? ;D Δε θα ασχοληθώ με τις βρισιές σου γιατί έχεις κάτι μαζί μου από παλιά μάλλον. Μια εμπάθεια, ένα κατιτίς.
Είσαι, άρα, (σύμφωνα με αυτούς που υποστηρίζεις, δεν το λέω εγώ, αυτοί σκέφτονται έτσι: ), αντικείμενο έρευνας και χρίζεις οπωσδήποτε ψυχανάλυσης και ίσως και ψυχοθεραπείας με φάρμακα, γιατί μόλις εκδήλωσες μια απρόκλητη προς εμένα εμπάθεια. Για να βρεθεί η αιτία της εμπάθειας, όχι τίποτα άλλο. Σου άρεσε? Για μένα είσαι απλά μια φοιτήτρια που έχει την δική της άποψη, έχει το θάρρος να τη λέει, έχει το θάρρος να αμφισβητεί τι λέει ένας μεγαλύτερος σε ηλικία από αυτήν και μπράβο σου, ή της τη σπάει ότι και να γράψω (δικαίωμά σου) ,μπορεί να μη σου αρέσει η αφεντομουτσουνάρα μου που μπορεί και να μη την έχεις δει (δικαίωμά σου και σιγά μη τα βάψω και μαύρα) ή μπορεί να σου τη σπάει το ψευδώνυμο Καταραμένο Αροξόλ (δεκτόν επίσης) και μόλις το βλέπεις ανεβάζεις και εσύ πίεση, ή μπορεί να σε έχουν πειράξει άλλα πράγματα που έχω γράψει εδώ ή στη λίστα αλλά να μου επιτίθεσαι σε άσχετα τόπικ για να μην καρφωθείς τι από όλα είναι αυτό που είπα και σε ενόχλησε τόσο πολύ (αυτό δεν μου αρέσει αλλά το κατανοώ και αυτό και το βάζω σαν μια πιθανότητα). Έτσι και αλλιώς προσωπικά σε σένα ποτέ δεν αναφέρθηκα πριν αρχίσεις να με αποκαλείς με πολύ ωραίες εκφράσεις που μπορώ να στις θυμίσω αν δεν τις θυμάσαι. Έλα όμως που όποιο από όλα αυτά και να συμβαίνει εγώ ΔΕΝ ΘΑ ΣΟΥ ΕΛΕΓΑ ΠΟΤΕ οτι έχεις κάποιο ψυχολογικό πρόβλημα, σε αντίθεση με εσένα που με χαρακτήρισες ψυχασθενή ως άλλη wanna be ψυχίατρος χωρίς πτυχίο αλλά κατ' επίφασην και κατ' επανάληψη. Επειδή έπεισαν όλα τα αμερικανάκια οτι χρειάζονται ομαδική ψυχανάλυση επειδή έπεσαν 2 αεροπλάνα στους δίδυμους πύργους, δε σημαίνει οτι θα φέρουμε και εδώ αυτήν την αμερικανιά που τόσο μα τόσο πολύ προβάλλεται όλως τυχαίως από όλες τις αμερικάνικες σειρές. Ας αποδείξουν πρώτα όλοι οι ψυχολόγοι και οι ψυχίατροι οτι το αντικείμενο της επιστήμης τους (η ψυχή δηλαδή) υπάρχει και το κυριώτερο σε ποιά κλίμακα και με ποιες μονάδες μέτρησης μετράνε την ψυχική υγεία, και ας μας πούνε πως την βλέπουν και πως την εξετάζουν, και μετά ας έρθουν να μου κλάσουν και μια μάντρα @@.. Αυτή είναι η γνώμη μου για την επιστήμη τους, τι να κάνω, ελευθερία έχουμε, και τη λέω. Αυτοί ας απαντήσουν με τα δικά τους επιχειρήματα. Πες μου οτι το έτρεξες το ερωτηματολόγιο από internet cafe και χωρίς να είσαι μέλος για να μην έχουν όντως τα πραγματικά σου στοιχεία... Αλλά ξέχασα, ο υπολογιστής σου είναι εξαίρεση στον κανόνα και δεν αφήνει ίχνη, δεν έχει I.P. Address, δεν έχεις πάροχο Internet ο οποίος ξέρει όλα τα στοιχεία σου, ονοματεπώνυμο, διεύθυνση, αριθμό ταυτότητας, επίσης δεν παρακολουθούνται κινητά και σταθερά τηλέφωνα χωρίς εισαγγελική εντολή για κακούργημα, δεν έχει γίνει ποτέ σύλληψη κανενός από τις I.P. Διευθύνσεις που παράνομα δίνουν στις αστυνομίες οι πάροχοι internet, δεν καταγράφονται τα Chat και τα Private Chats και όλα τα μηνύματα, δεν αποθηκεύονται τα πάντα στους Servers που σερβίρουν τις σελίδες, η Alexa και οι λοιπές εταιρίας μέτρησης επισκεψιμότητας σε ρωτάνε πριν να σου καταγράφουν όλες τις επισκέψεις σου σε όλες τις ιστοσελίδες, και εγώ είμαι ο ηλίθιος που πίστευα σε τέτοια πράγματα. Επίσης είμαι ηλίθιος όπως λες επειδή με ενοχλεί το είδος των ερωτήσεων που θυμίζουν κουτσομπολιό τύπου πρωϊνάδικων - μεσημεριανάδικων σε ένα ερωτηματολόγιο που συνέταξε κάποιος και το οτι χαλαρά τη καρδία δέχεστε να συμμετάσχετε σε τέτοια ερωτηματολόγια χωρίς να σας δίνουν λογαριασμό για το που και πως θα χρησιμοποιηθούν τα δεδομένα (τρομάρα μας) που θα μαζέψουν και χωρίς να σας κοινοποιήσουν ούτε καν τα αποτελέσματα - συμπεράσματα της έρευνας να την κάνει ο Θεός, ειδικά όταν αυτοί που επεξεργάζονται τα στοιχεία συνήθως είναι παντελώς άσχετοι από στατιστική και πιθανότητες. Μα πόσο ρόμπα γίνονται έτσι εύκολα μερικοί άνθρωποι... Επίσης ο παρακάτω κώδικας δεν υπάρχει, ούτε κάνει τίποτα, και οι προσθήκες που του έκανα ήταν άχρηστες και δεν τις χρησιμοποιήσανε ποτέ οι Administrators εκεί που δούλευα τότε, ούτε τους έλυσαν τα χέρια για αυτό που ήθελαν να κάνουν και, τέλος οι Γερμανοί είναι φίλοι μας, τα φάγαμε όλοι μαζί και ο Ντομινίκ Στρος Καν και το ΔΝΤ είναι οι γιατροί μας :P :D :D :D ;D ;D ;D : Λεπτομέρεια: ΔΕΝ ΕΙΠΑ ΟΤΙ ΤΑ ΜΑΖΕΥΟΥΝ ΤΑ ΣΤΟΙΧΕΙΑ ΜΑΣ. ΑΛΛΑ ΑΥΤΟ ΔΕ ΣΗΜΑΙΝΕΙ ΟΤΙ ΔΕΝ ΕΙΝΑΙ ΦΑΚΕΛΛΩΜΑ ΔΙΑΘΕΣΕΩΝ ΚΑΙ ΤΟΥ ΠΩΣ "ΔΙΑΧΕΙΡΙΖΟΜΑΣΤΕ" ΤΟΝ ΧΡΟΝΟ ΜΑΣ. // {*************************************************************************} /// <summary> /// Όταν καταλάβεις τι κάνει ο παρακάτω κώδικας, έλα να με ξαναβρίσεις. /// </summary> unit IpHlpApi; {$ALIGN ON} {$MINENUMSIZE 4} {$WEAKPACKAGEUNIT} interface uses Windows; const ANI_SIZE = 1; MAX_ADAPTER_NAME = 128; MAX_INTERFACE_NAME_LEN = 256; MAXLEN_IFDESCR = 256; MAXLEN_PHYSADDR = 8; { Definitions used by getnetworkparams and getadaptersinfo apis } MAX_ADAPTER_DESCRIPTION_LENGTH = 128; MAX_ADAPTER_NAME_LENGTH = 256; MAX_ADAPTER_ADDRESS_LENGTH = 8; DEFAULT_MINIMUM_ENTITIES = 32; MAX_HOSTNAME_LEN = 128; MAX_DOMAIN_NAME_LEN = 128; MAX_SCOPE_ID_LEN = 256; { Node Type } BROADCAST_NODETYPE = 1; PEER_TO_PEER_NODETYPE = 2; MIXED_NODETYPE = 4; HYBRID_NODETYPE = 8; { Adapter Type } IF_OTHER_ADAPTERTYPE = 0; IF_ETHERNET_ADAPTERTYPE = 1; IF_TOKEN_RING_ADAPTERTYPE = 2; IF_FDDI_ADAPTERTYPE = 3; IF_PPP_ADAPTERTYPE = 4; IF_LOOPBACK_ADAPTERTYPE = 5; IF_SLIP_ADAPTERTYPE = 6; { Specifies the state of the TCP connection } MIB_TCP_STATE_CLOSED = 1; MIB_TCP_STATE_LISTEN = 2; MIB_TCP_STATE_SYN_SENT = 3; MIB_TCP_STATE_SYN_RCVD = 4; MIB_TCP_STATE_ESTAB = 5; MIB_TCP_STATE_FIN_WAIT1 = 6; MIB_TCP_STATE_FIN_WAIT2 = 7; MIB_TCP_STATE_CLOSE_WAIT = 8; MIB_TCP_STATE_CLOSING = 9; MIB_TCP_STATE_LAST_ACK = 10; MIB_TCP_STATE_TIME_WAIT = 11; MIB_TCP_STATE_DELETE_TCB = 12; { Specifies the type of ARP entry } MIB_IPNET_TYPE_OTHER = 1; MIB_IPNET_TYPE_INVALID = 2; MIB_IPNET_TYPE_DYNAMIC = 3; MIB_IPNET_TYPE_STATIC = 4; { Specifies the route type } MIB_IPROUTE_TYPE_OTHER = 1; MIB_IPROUTE_TYPE_INVALID = 2; MIB_IPROUTE_TYPE_DIRECT = 3; MIB_IPROUTE_TYPE_INDIRECT = 4; { Specifies the retransmission timeout algorithm } MIB_TCP_RTO_OTHER = 1; MIB_TCP_RTO_CONSTANT = 2; MIB_TCP_RTO_RSRE = 3; MIB_TCP_RTO_VANJ = 4; { Specifies whether IP forwarding is enabled or disabled } MIB_IP_FORWARDING = 1; MIB_IP_NOT_FORWARDING = 2; { The interface is administratively enabled or disabled } MIB_IF_ADMIN_STATUS_UP = 1; MIB_IF_ADMIN_STATUS_DOWN = 2; { The operational status of the interface } MIB_IF_OPER_STATUS_NON_OPERATIONAL = 0; MIB_IF_OPER_STATUS_UNREACHABLE = 1; MIB_IF_OPER_STATUS_DISCONNECTED = 2; MIB_IF_OPER_STATUS_CONNECTING = 3; MIB_IF_OPER_STATUS_CONNECTED = 4; MIB_IF_OPER_STATUS_OPERATIONAL = 5; { IP Protocol Identifiers } IPRTRMGR_PID = 10000; MIB_IPPROTO_OTHER = 1; MIB_IPPROTO_LOCAL = 2; MIB_IPPROTO_NETMGMT = 3; MIB_IPPROTO_ICMP = 4; MIB_IPPROTO_EGP = 5; MIB_IPPROTO_GGP = 6; MIB_IPPROTO_HELLO = 7; MIB_IPPROTO_RIP = 8; MIB_IPPROTO_IS_IS = 9; MIB_IPPROTO_ES_IS = 10; MIB_IPPROTO_CISCO = 11; MIB_IPPROTO_BBN = 12; MIB_IPPROTO_OSPF = 13; MIB_IPPROTO_BGP = 14; MIB_IPPROTO_BOOTP = 9999; MIB_IPPROTO_NT_AUTOSTATIC = 10002; MIB_IPPROTO_NT_STATIC = 10006; MIB_IPPROTO_NT_STATIC_NON_DOD = 10007; { IPX Protocol Identifiers } IPX_PROTOCOL_BASE = $0001FFFF; IPX_PROTOCOL_RIP = IPX_PROTOCOL_BASE + 1; IPX_PROTOCOL_SAP = IPX_PROTOCOL_BASE + 2; IPX_PROTOCOL_NLSP = IPX_PROTOCOL_BASE + 3; { IP Helper Type Definitions } type TIPAddr = DWORD; TIPMask = DWORD; PIpAddressString = ^TIpAddressString; TIpAddressString = packed record str: array[0..15] of Char; end; PIpMaskString = ^TIpMaskString; TIpMaskString = TIpAddressString; PIpAddrString = ^TIpAddrString; TIpAddrString = packed record Next: PIpAddrString; IpAddress: TIpAddressString; IpMask: TIpMaskString; Context: DWORD; end; PIpAdapterInfo = ^TIpAdapterInfo; TIpAdapterInfo = packed record Next: PIpAdapterInfo; ComboIndex: DWORD; AdapterName: array[0..MAX_ADAPTER_NAME_LENGTH + 3] of Char; Description: array[0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of Char; AddressLength: UINT; Address: array[0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of BYTE; Index: DWORD; uType: UINT; DhcpEnabled: UINT; CurrentIpAddress: PIpAddrString; IpAddressList: TIpAddrString; GatewayList: TIpAddrString; DhcpServer: TIpAddrString; HaveWins: BOOL; PrimaryWinsServer: TIpAddrString; SecondaryWinsServer: TIpAddrString; LeaseObtained: Longint; LeaseExpires: Longint; end; PIpPerAdapterInfo = ^TIpPerAdapterInfo; TIpPerAdapterInfo = packed record AutoconfigEnabled: UINT; AutoconfigActive: UINT; CurrentDnsServer: PIpAddrString; DnsServerList: TIpAddrString; end; PIpUnidirectionalAdapterAddress = ^TIpUnidirectionalAdapterAddress; TIpUnidirectionalAdapterAddress = packed record NumAdapters: ULONG; Address: array[0..ANI_SIZE - 1] of TIPAddr; end; PIpAdapterIndexMap = ^TIpAdapterIndexMap; TIpAdapterIndexMap = packed record Index: ULONG; { adapter index } Name: array[0..MAX_ADAPTER_NAME - 1] of WCHAR; { name of the adapter } end; PIpInterfaceInfo = ^TIpInterfaceInfo; TIpInterfaceInfo = packed record NumAdapters: Longint; { number of adapters in array } Adapter: array[0..ANI_SIZE - 1] of TIpAdapterIndexMap; { adapter indices and names } end; PFixedInfo = ^TFixedInfo; TFixedInfo = packed record HostName: array[0..MAX_HOSTNAME_LEN + 3] of Char; DomainName: array[0..MAX_DOMAIN_NAME_LEN + 3] of Char; CurrentDnsServer: PIpAddrString; DnsServerList: TIpAddrString; NodeType: UINT; ScopeId: array[0..MAX_SCOPE_ID_LEN + 3] of Char; EnableRouting: UINT; EnableProxy: UINT; EnableDns: UINT; end; PMibIpForwardRow = ^TMibIpForwardRow; TMibIpForwardRow = packed record dwForwardDest: DWORD; { IP addr of destination } dwForwardMask: DWORD; { subnetwork mask of destination } dwForwardPolicy: DWORD; { conditions for multi-path route } dwForwardNextHop: DWORD; { IP address of next hop } dwForwardIfIndex: DWORD; { index of interface } dwForwardType: DWORD; { route type } dwForwardProto: DWORD; { protocol that generated route } dwForwardAge: DWORD; { age of route } dwForwardNextHopAS: DWORD; { autonomous system number of next hop } dwForwardMetric1: DWORD; { protocol-specific metric } dwForwardMetric2: DWORD; { protocol-specific metric } dwForwardMetric3: DWORD; { protocol-specific metric } dwForwardMetric4: DWORD; { protocol-specific metric } dwForwardMetric5: DWORD; { protocol-specific metric } end; PMibIpNetRow = ^TMibIpNetRow; TMibIpNetRow = packed record dwIndex: DWORD; { adapeter index } dwPhysAddrLen: DWORD; { physical address length } bPhysAddr: array[0..MAXLEN_PHYSADDR - 1] of BYTE; { physical address } dwAddr: DWORD; { IP address } dwType: DWORD; { ARP entry type } end; PMibIcmpStats = ^TMibIcmpStats; TMibIcmpStats = packed record dwMsgs: DWORD; { number of messages } dwErrors: DWORD; { number of errors } dwDestUnreachs: DWORD; { destination unreachable messages } dwTimeExcds: DWORD; { time-to-live exceeded messages } dwParmProbs: DWORD; { parameter problem messages } dwSrcQuenchs: DWORD; { source quench messages } dwRedirects: DWORD; { redirection messages } dwEchos: DWORD; { echo requests } dwEchoReps: DWORD; { echo replies } dwTimestamps: DWORD; { timestamp requests } dwTimestampReps: DWORD; { timestamp replies } dwAddrMasks: DWORD; { address mask requests } dwAddrMaskReps: DWORD; { address mask replies } end; PMibIcmpInfo = ^TMibIcmpInfo; TMibIcmpInfo = packed record icmpInStats: TMibIcmpStats; { stats for incoming messages } icmpOutStats: TMibIcmpStats; { stats for outgoing messages } end; PMibIcmp = ^TMibIcmp; TMibIcmp = packed record stats: TMibIcmpInfo; { contains ICMP stats } end; PMibIfRow = ^TMibIfRow; TMibIfRow = packed record wszName: array[0..MAX_INTERFACE_NAME_LEN - 1] of WCHAR; dwIndex: DWORD; { index of the interface } dwType: DWORD; { type of interface } dwMtu: DWORD; { max transmission unit } dwSpeed: DWORD; { speed of the interface } dwPhysAddrLen: DWORD; { length of physical address } bPhysAddr: array[0..MAXLEN_PHYSADDR - 1] of BYTE; { physical addr of adapter } dwAdminStatus: DWORD; { administrative status } dwOperStatus: DWORD; { operational status } dwLastChange: DWORD; { last time oper status changed } dwInOctets: DWORD; { octets received } dwInUcastPkts: DWORD; { unicast packets received } dwInNUcastPkts: DWORD; { non-unicast packets received } dwInDiscards: DWORD; { received packets discarded } dwInErrors: DWORD; { erroneous packets received } dwInUnknownProtos: DWORD; { unknow protocol packets received } dwOutOctets: DWORD; { octets sent } dwOutUcastPkts: DWORD; { unicast packets sent } dwOutNUcastPkts: DWORD; { non-unicast packets sent } dwOutDiscards: DWORD; { outgoing packets discarded } dwOutErrors: DWORD; { erroneous packets sent } dwOutQLen: DWORD; { output queue length } dwDescrLen: DWORD; { length of bDescr member } bDescr: array[0..MAXLEN_IFDESCR - 1] of BYTE; { interface description } end; PMibIfTable = ^TMibIfTable; TMibIfTable = packed record dwNumEntries: DWORD; { number of entries in table } table: array[0..ANI_SIZE - 1] of TMibIfRow; { array of interface entries } end; PMibIpAddrRow = ^TMibIpAddrRow; TMibIpAddrRow = packed record dwAddr: DWORD; { IP address } dwIndex: DWORD; { interface index } dwMask: DWORD; { subnet mask } dwBCastAddr: DWORD; { broadcast address } dwReasmSize: DWORD; { rassembly size } unused1: WORD; { not currently used } unused2: WORD; { not currently used } end; PMibIpAddrTable = ^TMibIpAddrTable; TMibIpAddrTable = packed record dwNumEntries: DWORD; { number of entries in the table } table: array[0..ANI_SIZE - 1] of TMibIpAddrRow; { array of IP address entries } end; PMibIpForwardTable = ^TMibIpForwardTable; TMibIpForwardTable = packed record dwNumEntries: DWORD; { number of entries in the table } table: array[0..ANI_SIZE - 1] of TMibIpForwardRow; { array of route entries } end; PMibIpNetTable = ^TMibIpNetTable; TMibIpNetTable = packed record dwNumEntries: DWORD; { number of entries in table } table: array[0..ANI_SIZE - 1] of TMibIpNetRow; { array of ARP entries } end; PMibIpStats = ^TMibIpStats; TMibIpStats = packed record dwForwarding: DWORD; { IP forwarding enabled or disabled } dwDefaultTTL: DWORD; { default time-to-live } dwInReceives: DWORD; { datagrams received } dwInHdrErrors: DWORD; { received header errors } dwInAddrErrors: DWORD; { received address errors } dwForwDatagrams: DWORD; { datagrams forwarded } dwInUnknownProtos: DWORD; { datagrams with unknown protocol } dwInDiscards: DWORD; { received datagrams discarded } dwInDelivers: DWORD; { received datagrams delivered } dwOutRequests: DWORD; dwRoutingDiscards: DWORD; dwOutDiscards: DWORD; { sent datagrams discarded } dwOutNoRoutes: DWORD; { datagrams for which no route } dwReasmTimeout: DWORD; { datagrams for which all frags didn't arrive } dwReasmReqds: DWORD; { datagrams requiring reassembly } dwReasmOks: DWORD; { successful reassemblies } dwReasmFails: DWORD; { failed reassemblies } dwFragOks: DWORD; { successful fragmentations } dwFragFails: DWORD; { failed fragmentations } dwFragCreates: DWORD; { datagrams fragmented } dwNumIf: DWORD; { number of interfaces on computer } dwNumAddr: DWORD; { number of IP address on computer } dwNumRoutes: DWORD; { number of routes in routing table } end; PMibTcpStats = ^TMibTcpStats; TMibTcpStats = packed record dwRtoAlgorithm: DWORD; { timeout algorithm } dwRtoMin: DWORD; { minimum timeout } dwRtoMax: DWORD; { maximum timeout } dwMaxConn: DWORD; { maximum connections } dwActiveOpens: DWORD; { active opens } dwPassiveOpens: DWORD; { passive opens } dwAttemptFails: DWORD; { failed attempts } dwEstabResets: DWORD; { establised connections reset } dwCurrEstab: DWORD; { established connections } dwInSegs: DWORD; { segments received } dwOutSegs: DWORD; { segment sent } dwRetransSegs: DWORD; { segments retransmitted } dwInErrs: DWORD; { incoming errors } dwOutRsts: DWORD; { outgoing resets } dwNumConns: DWORD; { cumulative connections } end; PMibTcpRow = ^TMibTcpRow; TMibTcpRow = packed record dwState: DWORD; { state of the connection } dwLocalAddr: DWORD; { address on local computer } dwLocalPort: DWORD; { port number on local computer } dwRemoteAddr: DWORD; { address on remote computer } dwRemotePort: DWORD; { port number on remote computer } end; PMibTcpTable = ^TMibTcpTable; TMibTcpTable = packed record dwNumEntries: DWORD; { number of entries in the table } table: array[0..ANI_SIZE - 1] of TMibTcpRow; { array of TCP connections } end; PMibUdpStats = ^TMibUdpStats; TMibUdpStats = packed record dwInDatagrams: DWORD; { received datagrams } dwNoPorts: DWORD; { datagrams for which no port } dwInErrors: DWORD; { errors on received datagrams } dwOutDatagrams: DWORD; { sent datagrams } dwNumAddrs: DWORD; { number of entries in UDP listener table } end; PMibUdpRow = ^TMibUdpRow; TMibUdpRow = packed record dwLocalAddr: DWORD; { IP address on local computer } dwLocalPort: DWORD; { port number on local computer } end; PMibUdpTable = ^TMibUdpTable; TMibUdpTable = packed record dwNumEntries: DWORD; { number of entries in the table } table: array[0..ANI_SIZE - 1] of TMibUdpRow; { table of MIB_UDPROW structs } end; {IP Helper API Prototypes } function AddIPAddress(Address: TIPAddr; IpMask: TIPMask; IfIndex: DWORD; NTEContext, NTEInstance: PULONG): DWORD; stdcall; function CreateIpForwardEntry(pRoute: PMibIpForwardRow): DWORD; stdcall; function CreateIpNetEntry(pArpEntry: PMibIpNetRow): DWORD; stdcall; function CreateProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD; stdcall; function DeleteIPAddress(NTEContext: ULONG): DWORD; stdcall; function DeleteIpForwardEntry(pRoute: PMibIpForwardRow): DWORD; stdcall; function DeleteIpNetEntry(pArpEntry: PMibIpNetRow): DWORD; stdcall; function DeleteProxyArpEntry(dwAddress, dwMask, dwIfIndex: DWORD): DWORD; stdcall; function EnableRouter(pHandle: PHandle; pOverlapped: POverlapped): DWORD; stdcall; function FlushIpNetTable(dwIfIndex: DWORD): DWORD; stdcall; function GetAdapterIndex(AdapterName: LPWSTR; IfIndex: PULONG): DWORD; stdcall; function GetAdaptersInfo(pAdapterInfo: PIpAdapterInfo; pOutBufLen: PULONG): DWORD; stdcall; function GetBestInterface(dwDestAddr: TIPAddr; pdwBestIfIndex: PDWORD): DWORD; stdcall; function GetBestRoute(dwDestAddr, dwSourceAddr: DWORD; pBestRoute: PMibIpForwardRow): DWORD; stdcall; function GetFriendlyIfIndex(IfIndex: DWORD): DWORD; stdcall; function GetIcmpStatistics(pStats: PMibIcmp): DWORD; stdcall; function GetIfEntry(pIfRow: PMibIfRow): DWORD; stdcall; function GetIfTable(pIfTable: PMibIfTable; pdwSize: PULONG; bOrder: BOOL): DWORD; stdcall; function GetInterfaceInfo(pIfTable: PIpInterfaceInfo; dwOutBufLen: PULONG):DWORD; stdcall; function GetIpAddrTable(pIpAddrTable: PMibIpAddrTable; pdwSize: PULONG; bOrder: BOOL): DWORD; stdcall; function GetIpForwardTable(pIpForwardTable: PMibIpForwardTable; pdwSize: PULONG; bOrder: BOOL): DWORD; stdcall; function GetIpNetTable(pIpNetTable: PMibIpNetTable; pdwSize: PULONG; bOrder: BOOL): DWORD; stdcall; function GetIpStatistics(pStats: PMibIpStats): DWORD; stdcall; function GetNetworkParams(pFixedInfo: PFixedInfo; pOutBufLen: PULONG): DWORD; stdcall; function GetNumberOfInterfaces(pdwNumIf: PDWORD): DWORD; stdcall; function GetPerAdapterInfo(IfIndex: ULONG; pPerAdapterInfo: PIpPerAdapterInfo; pOutBufLen: PULONG): DWORD; stdcall; function GetRTTAndHopCount(DestIpAddress: TIPAddr; HopCount: PULONG; MaxHops: ULONG; RTT: PULONG): BOOL; stdcall; function GetTcpStatistics(pStats: PMibTcpStats): DWORD; stdcall; function GetTcpTable(pTcpTable: PMibTcpTable; pdwSize: PDWORD; bOrder: BOOL): DWORD; stdcall; function GetUdpStatistics(pStats: PMibUdpStats): DWORD; stdcall; function GetUdpTable(pUdpTable: PMibUdpTable; pdwSize: PDWORD; bOrder: BOOL): DWORD; stdcall; function GetUniDirectionalAdapterInfo(pIPIfInfo: PIpUnidirectionalAdapterAddress; dwOutBufLen: PULONG): DWORD; stdcall; function IpReleaseAddress(AdapterInfo: PIpAdapterIndexMap): DWORD; stdcall; function IpRenewAddress(AdapterInfo: PIpAdapterIndexMap): DWORD; stdcall; function NotifyAddrChange(Handle: PHandle; overlapped: POverlapped): DWORD; stdcall; function NotifyRouteChange(Handle: PHandle; overlapped: POverlapped): DWORD; stdcall; function SendARP(DestIP, SrcIP: TIPAddr; pMacAddr, PhyAddrLen: PULONG): DWORD; stdcall; function SetIfEntry(pIfRow: PMibIfRow): DWORD; stdcall; function SetIpForwardEntry(pRoute: PMibIpForwardRow): DWORD; stdcall; function SetIpNetEntry(pArpEntry: PMibIpNetRow): DWORD; stdcall; function SetIpStatistics(pIpStats: PMibIpStats): DWORD; stdcall; function SetIpTTL(nTTL: UINT): DWORD; stdcall; function SetTcpEntry(pTcpRow: PMibTcpRow): DWORD; stdcall; function UnenableRouter(pOverlapped: POverlapped; lpdwEnableCount: LPDWORD): DWORD; stdcall; implementation const iphelper = 'iphlpapi.dll'; function AddIPAddress; external iphelper name 'AddIPAddress'; function CreateIpForwardEntry; external iphelper name 'CreateIpForwardEntry'; function CreateIpNetEntry; external iphelper name 'CreateIpNetEntry'; function CreateProxyArpEntry; external iphelper name 'CreateProxyArpEntry'; function DeleteIPAddress; external iphelper name 'DeleteIPAddress'; function DeleteIpForwardEntry; external iphelper name 'DeleteIpForwardEntry'; function DeleteIpNetEntry; external iphelper name 'DeleteIpNetEntry'; function DeleteProxyArpEntry; external iphelper name 'DeleteProxyArpEntry'; function EnableRouter; external iphelper name 'EnableRouter'; function FlushIpNetTable; external iphelper name 'FlushIpNetTable'; function GetAdapterIndex; external iphelper name 'GetAdapterIndex'; function GetAdaptersInfo; external iphelper name 'GetAdaptersInfo'; function GetBestInterface; external iphelper name 'GetBestInterface'; function GetBestRoute; external iphelper name 'GetBestRoute'; function GetFriendlyIfIndex; external iphelper name 'GetFriendlyIfIndex'; function GetIcmpStatistics; external iphelper name 'GetIcmpStatistics'; function GetIfEntry; external iphelper name 'GetIfEntry'; function GetIfTable; external iphelper name 'GetIfTable'; function GetInterfaceInfo; external iphelper name 'GetInterfaceInfo'; function GetIpAddrTable; external iphelper name 'GetIpAddrTable'; function GetIpForwardTable; external iphelper name 'GetIpForwardTable'; function GetIpNetTable; external iphelper name 'GetIpNetTable'; function GetIpStatistics; external iphelper name 'GetIpStatistics'; function GetNetworkParams; external iphelper name 'GetNetworkParams'; function GetNumberOfInterfaces; external iphelper name 'GetNumberOfInterfaces'; function GetPerAdapterInfo; external iphelper name 'GetPerAdapterInfo'; function GetRTTAndHopCount; external iphelper name 'GetRTTAndHopCount'; function GetTcpStatistics; external iphelper name 'GetTcpStatistics'; function GetTcpTable; external iphelper name 'GetTcpTable'; function GetUdpStatistics; external iphelper name 'GetUdpStatistics'; function GetUdpTable; external iphelper name 'GetUdpTable'; function GetUniDirectionalAdapterInfo; external iphelper name 'GetUniDirectionalAdapterInfo'; function IpReleaseAddress; external iphelper name 'IpReleaseAddress'; function IpRenewAddress; external iphelper name 'IpRenewAddress'; function NotifyAddrChange; external iphelper name 'NotifyAddrChange'; function NotifyRouteChange; external iphelper name 'NotifyRouteChange'; function SendARP; external iphelper name 'SendARP'; function SetIfEntry; external iphelper name 'SetIfEntry'; function SetIpForwardEntry; external iphelper name 'SetIpForwardEntry'; function SetIpNetEntry; external iphelper name 'SetIpNetEntry'; function SetIpStatistics; external iphelper name 'SetIpStatistics'; function SetIpTTL; external iphelper name 'SetIpTTL'; function SetTcpEntry; external iphelper name 'SetTcpEntry'; function UnenableRouter; external iphelper name 'UnenableRouter'; end. unit Main; {$R-} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ComCtrls, ToolWin, ExtCtrls, ImgList, ActnList, IpHlpApi, ShellAPI; const WM_WNETSTATICON = WM_USER + 1; WM_LOOKUPCOMPLETE = WM_USER + 2; type TMainForm = class(TForm) MainMenu: TMainMenu; miFile: TMenuItem; miView: TMenuItem; miHelp: TMenuItem; StatusBar: TStatusBar; ListViewImages: TImageList; miSave: TMenuItem; miSaveAs: TMenuItem; N1: TMenuItem; miExit: TMenuItem; miAbout: TMenuItem; miRefresh: TMenuItem; ListView: TListView; TrayIconPopupMenu: TPopupMenu; piOpen: TMenuItem; N9: TMenuItem; piExit: TMenuItem; miTrayIcon: TMenuItem; miToolBar: TMenuItem; miStatusBar: TMenuItem; N2: TMenuItem; N3: TMenuItem; miConnections: TMenuItem; miIP: TMenuItem; miICMP: TMenuItem; miTCP: TMenuItem; miUDP: TMenuItem; miInterface: TMenuItem; miRoute: TMenuItem; ActionList: TActionList; actSave: TAction; actSaveAs: TAction; actExit: TAction; actToolBar: TAction; actStatusBar: TAction; actAbout: TAction; actByName: TAction; actAllEndpoints: TAction; actTrayIcon: TAction; ToolBar: TToolBar; BtnSave: TToolButton; ToolButton1: TToolButton; BtnRefresh: TToolButton; ToolButton2: TToolButton; BtnViews: TToolButton; MainPopupMenuActions: TPopupMenu; piRoute: TMenuItem; piICMP: TMenuItem; piConnections: TMenuItem; piIP: TMenuItem; piInterface: TMenuItem; piTCP: TMenuItem; piUDP: TMenuItem; actConnections: TAction; actIP: TAction; actICMP: TAction; actTCP: TAction; actUDP: TAction; actInterface: TAction; actRoute: TAction; N7: TMenuItem; piByName: TMenuItem; piAllEndpoints: TMenuItem; actRefresh: TAction; TbrLargeImages: TImageList; TbrLargeHotImages: TImageList; TbrImages: TImageList; TbrHotImages: TImageList; ViewModePopupMenu: TPopupMenu; actLabels: TAction; actIcons: TAction; piText: TMenuItem; piIcons: TMenuItem; actOpen: TAction; actTerminate: TAction; Splitter: TSplitter; actNIC: TAction; actARP: TAction; actIPAddress: TAction; piARP: TMenuItem; piIPAddress: TMenuItem; piNIC: TMenuItem; miARP: TMenuItem; miIPAddress: TMenuItem; miNIC: TMenuItem; N4: TMenuItem; actCloseConnection: TAction; N8: TMenuItem; piCloseConnection: TMenuItem; Timer: TTimer; actOptions: TAction; N6: TMenuItem; miOptions: TMenuItem; actAutoRefresh: TAction; AutoRefresh1: TMenuItem; N5: TMenuItem; BtnCloseConnection: TToolButton; BtnExit: TToolButton; miCloseConnection: TMenuItem; CloseSelectedConnectionsWhere: TMenuItem; actCloseSelectedConnections: TAction; actCloseSelectedConnectionsWith: TAction; ToolButton5: TToolButton; ToolButton3: TToolButton; procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure ListViewColumnClick(Sender: TObject; Column: TListColumn); procedure ListViewCompare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); procedure ListViewDeletion(Sender: TObject; Item: TListItem); procedure actSaveExecute(Sender: TObject); procedure actSaveAsExecute(Sender: TObject); procedure actExitExecute(Sender: TObject); procedure actToolBarExecute(Sender: TObject); procedure actStatusBarExecute(Sender: TObject); procedure actTrayIconExecute(Sender: TObject); procedure actByNameExecute(Sender: TObject); procedure actAllEndpointsExecute(Sender: TObject); procedure actCloseConnectionExecute(Sender: TObject); procedure actRefreshExecute(Sender: TObject); procedure actAboutExecute(Sender: TObject); procedure actLabelsExecute(Sender: TObject); procedure actIconsExecute(Sender: TObject); procedure actOpenExecute(Sender: TObject); procedure actTerminateExecute(Sender: TObject); procedure ActionExecute(Sender: TObject); procedure ActionListUpdate(Action: TBasicAction; var Handled: Boolean); procedure SplitterCanResize(Sender: TObject; var NewSize: Integer; var Accept: Boolean); procedure BtnViewsClick(Sender: TObject); procedure TimerTimer(Sender: TObject); procedure actOptionsExecute(Sender: TObject); procedure actAutoRefreshExecute(Sender: TObject); procedure MainPopupMenuActionsPopup(Sender: TObject); procedure CloseSelectedConnectionsWhereClick(Sender: TObject); procedure CloseSelectedConnectionsClick(Sender: TObject); procedure actCloseSelectedConnectionsWithExecute(Sender: TObject); procedure actCloseSelectedConnectionsExecute(Sender: TObject); private { Private declarations } FNotifyIconData: TNotifyIconData; FDone: Boolean; FAscending: Boolean; FByNameChanged: Boolean; FAllEndpointsChanged: Boolean; FAppendStatistics: Boolean; FAutoSave: Boolean; FAction: Integer; FSortCol: Integer; FHostName: array[0..255] of Char; FFileName: string; function GetActionIndexByTag(ATag: Integer): Integer; function GetHost(dwIpAddr: DWORD; Local: Boolean; DataAddr: Pointer = nil): string; function GetPort(dwPort: DWORD; const Proto: string): string; function ProcessIdToName(Pid: DWORD): string; procedure GetNicTable(ReNew: Boolean); procedure GetArpTable(ReNew: Boolean); procedure GetIpAddressTable(ReNew: Boolean); procedure GetRouteTable(ReNew: Boolean); procedure GetConnectionsTable(ReNew: Boolean); procedure GetInterfaceStats(ReNew: Boolean); procedure GetIpStats(ReNew: Boolean); procedure GetIcmpStats(ReNew: Boolean); procedure GetTcpStats(ReNew: Boolean); procedure GetUdpStats(ReNew: Boolean); procedure AddIcon; procedure MkFile(const FileName: string; AppendFlag: Boolean); protected procedure WndProc(var Message: TMessage); override; procedure WMWNetStatIcon(var Message: TMessage); message WM_WNETSTATICON; procedure WMLookupComplete(var Message: TMessage); message WM_LOOKUPCOMPLETE; public { Public declarations } end; PMibTcpExRow = ^TMibTcpExRow; TMibTcpExRow = packed record dwState: DWORD; dwLocalAddr: DWORD; dwLocalPort: DWORD; dwRemoteAddr: DWORD; dwRemotePort: DWORD; dwProcessId: DWORD; end; PMibTcpExTable = ^TMibTcpExTable; TMibTcpExTable = packed record dwNumEntries: DWORD; table: array[0..ANI_SIZE - 1] of TMibTcpExRow; end; PMibUdpExRow = ^TMibUdpExRow; TMibUdpExRow = packed record dwLocalAddr: DWORD; dwLocalPort: DWORD; dwProcessId: DWORD; end; PMibUdpExTable = ^TMibUdpExTable; TMibUdpExTable = packed record dwNumEntries: DWORD; table: array[0..ANI_SIZE - 1] of TMibUdpExRow; end; PTcpData = ^TTcpData; TTcpData = packed record TcpRow: TMibTcpRow; LookupHandle: THandle; HostData: Pointer; end; TAllocateAndGetTcpExTableFromStack = function(pTcpExTable: PMibTcpExTable; bOrder: BOOL; heap: THandle; dwZero, dwFlags: DWORD): DWORD; stdcall; TAllocateAndGetUdpExTableFromStack = function(pUdpExTable: PMibUdpExTable; bOrder: BOOL; heap: THandle; dwZero, dwFlags: DWORD): DWORD; stdcall; const PID_SIZE = SizeOf(TMibTcpExRow) - SizeOf(TMibTcpRow); var MainForm: TMainForm GetTcpExTable: TAllocateAndGetTcpExTableFromStack = nil GetUdpExTable: TAllocateAndGetUdpExTableFromStack = nil FoundExApi: Boolean = False TaskMessage: UINT implementation uses NsOptions, NsAbout, NsConst, WinSock, Registry, TlHelp32, ErrorH {$R *.dfm} // {*************************************************************************} /// <summary> /// Διαδικασία InitExApi /// </summary> procedure InitExApi; var hLib: HMODULE; begin hLib := GetModuleHandle('iphlpapi.dll'); @GetTcpExTable := GetProcAddress(hLib, 'AllocateAndGetTcpExTableFromStack'); @GetUdpExTable := GetProcAddress(hLib, 'AllocateAndGetUdpExTableFromStack'); if Assigned(GetTcpExTable) and Assigned(GetUdpExTable) then FoundExApi := True; end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία Check ResultCode /// </summary> procedure Check(ResultCode: DWORD); begin if ResultCode <> NO_ERROR then raise Exception.Create(SysErrorMessage(ResultCode)); end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Συνάρτηση FormatIpAddress /// </summary> function FormatIpAddress(Value: DWORD): string; begin Result := Format('%d.%d.%d.%d', [Value and $FF, (Value shr 8) and $FF, (Value shr 16) and $FF, (Value shr 24) and $FF]); end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Συνάρτηση FormatMacAddress /// </summary> function FormatMacAddress(const Value: array of Byte): string; begin Result := Format('%2.2x-%2.2x-%2.2x-%2.2x-%2.2x-%2.2x', [Value[0], Value[1], Value[2], Value[3], Value[4], Value[5]]); end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Συνάρτηση FormatDecimal /// </summary> function FormatDecimal(Value: Int64): string; var i, j: Integer; begin Result := IntToStr(Value); j := 0; for i := Length(Result) downto 1 do begin Inc(j); if (j = 3) and (i <> 1) then begin Insert(ThousandSeparator, Result, i); j := 0; end; end; end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Συνάρτηση GetActionIndexByTag /// </summary> function TMainForm.GetActionIndexByTag(ATag: Integer): Integer; var i: Integer; begin Result := -1; with ActionList do for i := 0 to ActionCount - 1 do if ((Actions as TAction).GroupIndex = 1) and (Actions.Tag = ATag) then Result := Actions.Index; end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Διαδικασία Δημιουργίας της Κυρίως Φόρμας /// </summary> procedure TMainForm.FormCreate(Sender: TObject); var WSAData: TWSAData Position: TRect begin InitLogs('WNetStat') // Αρχικοποιεί τα Logs της Εφαρμογής if WSAStartup($0101, WSAData) <> 0 then with Application do begin MessageBox(PChar(SWinSockErr), PChar(Title), MB_OK or MB_ICONERROR); ShowMainForm := False; Terminate; end; with TRegistry.Create do try if OpenKey(INIT_KEY, False) then try if ValueExists(SPosition) then begin ReadBinaryData(SPosition, Position, SizeOf(Position)); BoundsRect := Position; end; if ValueExists(SWindowState) then if ReadInteger(SWindowState) = Ord(wsMaximized) then WindowState := wsMaximized; if ValueExists(SShowToolBar) then ToolBar.Visible := ReadBool(SShowToolBar); if ValueExists(SShowStatusBar) then StatusBar.Visible := ReadBool(SShowStatusBar); if ValueExists(SShowTrayIcon) then if ReadBool(SShowTrayIcon) then actTrayIcon.Execute; if ValueExists(SShowByName) then actByName.Checked := ReadBool(SShowByName); if ValueExists(SShowAllEndpoints) then actAllEndpoints.Checked := ReadBool(SShowAllEndpoints); if ValueExists(SShowTextLabels) then if ReadBool(SShowTextLabels) then actLabels.Execute; if ValueExists(SShowLargeIcons) then if ReadBool(SShowLargeIcons) then actIcons.Execute; if ValueExists(SAutoRefresh) then actAutoRefresh.Checked := ReadBool(SAutoRefresh); if ValueExists(SAppendStatistics) then FAppendStatistics := ReadBool(SAppendStatistics); if ValueExists(SAutoSave) then FAutoSave := ReadBool(SAutoSave); if ValueExists(SAction) then FAction := ReadInteger(SAction); if ValueExists(SInterval) then Timer.Interval := ReadInteger(SInterval); if ValueExists(SLastFile) then begin FFileName := ReadString(SLastFile); if FFileName <> '' then Caption := Format('%s - %s', [Application.Title, FFileName]); end; finally CloseKey; end; finally Free; end; gethostname(FHostName, SizeOf(FHostName)); FDone := True; end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία FormShow /// </summary> procedure TMainForm.FormShow(Sender: TObject); begin actRefresh.Execute; end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία FormClose /// </summary> procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin if actTrayIcon.Checked then begin Hide; Action := caNone; end; end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία FormDestroy /// </summary> procedure TMainForm.FormDestroy(Sender: TObject); var Position: TRect; begin with TRegistry.Create do try if OpenKey(INIT_KEY, True) then try if WindowState = wsNormal then begin Position := BoundsRect; WriteBinaryData(SPosition, Position, SizeOf(Position)); end; WriteInteger(SWindowState, Ord(WindowState)); WriteBool(SShowToolBar, ToolBar.Visible); WriteBool(SShowStatusBar, StatusBar.Visible); WriteBool(SShowTrayIcon, actTrayIcon.Checked); WriteBool(SShowByName, actByName.Checked); WriteBool(SShowAllEndpoints, actAllEndpoints.Checked); WriteBool(SShowTextLabels, actLabels.Checked); WriteBool(SShowLargeIcons, actIcons.Checked); WriteBool(SAutoRefresh, actAutoRefresh.Checked); WriteBool(SAppendStatistics, FAppendStatistics); WriteBool(SAutoSave, FAutoSave); WriteInteger(SAction, FAction); WriteInteger(SInterval, Timer.Interval); WriteString(SLastFile, FFileName); finally CloseKey; end; finally Free; end; WSACleanup; end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία ListViewColumnClick /// </summary> procedure TMainForm.ListViewColumnClick(Sender: TObject; Column: TListColumn); begin FAscending := not FAscending; if (FSortCol <> -1) and (FSortCol <> Column.Index) then begin FAscending := True; ListView.Columns[FSortCol].ImageIndex := -1; end; if FAscending then Column.ImageIndex := 2 else Column.ImageIndex := 3; FSortCol := Column.Index; ListView.CustomSort(nil, FSortCol - 1); end; // Τέλος της Διαδικασίας // {*************************************************************************} /// <summary> /// Διαδικασία ListViewCompare /// </summary> procedure TMainForm.ListViewCompare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); // {*************************************************************************} /// <summary> /// Συνάρτηση AlignIpAddress /// </summary> function AlignIpAddress(const IpAddress: string): string; var P, Start: PChar; S: string; begin Result := ''; P := PChar(IpAddress); while P^ <> #0 do begin Start := P; while not (P^ in [#0, '.']) do Inc(P); SetString(S, Start, P - Start); Result := Result + Format('%3s', if P^ <> #0 then begin Result := Result + '.'; Inc(P); end; end; end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Συνάρτηση AlignAddress /// </summary> function AlignAddress(const Address: string): string; var IpAddr, Port: string; begin IpAddr := AlignIpAddress(Copy(Address, 1, Pos(':', Address) - 1)); Port := Copy(Address, Pos(':', Address) + 1, Length(Address)); Result := Format('%s:%5s', [IpAddr, Port]); end; // Τέλος της Συνάρτησης // {*************************************************************************} /// <summary> /// Συνάρτηση AlignDecimal /// </summary> function AlignDecimal(const Value: string): string; begin Result := Format('%25s', [Value]); end; // Τέλος της Συνάρτησης // {*************************************************************************} var SortFlag: Integer; begin if FAscending then SortFlag := 1 else SortFlag := -1; if Data = -1 then if FAction in [1, 2, 3] then Compare := SortFlag * AnsiCompareText(AlignIpAddress(Item1.Caption), AlignIpAddress(Item2.Caption)) else Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: miaou on December 15, 2010, 21:08:00 pm -Katarameno λατρεία μου, δε σου έβαλε κανένας το μαχαίρι στο λαιμό να το κάνεις...
-Τι μου χαλάς το τόπικ με το παραληρημά σου?? -Πραγματικά για 38 χρονών παραέχεις ελεύθερο χρόνο να γράφεις ασυναρτησίες και να ανοίγεις θέματα από το μηδέν σε φοιτητικό φόρουμ.... :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) εγώ κακίες δεν κρατάω αλλά μην πάρεις αφορμή από την απάντηση μου και συνεχίσεις να γράφεις στο ειρηνικό τόπικ μου ..., τις διαβάσαμε τις απόψεις σου... Καλό απόγευμα Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Doctor_Doctor on December 15, 2010, 21:15:18 pm Πες μου οτι το έτρεξες το ερωτηματολόγιο από internet cafe και χωρίς να είσαι μέλος για να μην έχουν όντως τα πραγματικά σου στοιχεία... Ωραία όλα τα υπόλοιπα, για το παραπάνω θέλω να σου κάνω δύο ερωτήσεις. 1. Θεωρείς πλήρη και ταυτοτική τη σύνδεση ενός υπολογιστή (IP) και του ατόμου που το χρησιμοποιεί; 2. Γιατί να τους ενδιαφέρει συγκεκριμένα ποιος πιστεύει τι (και υποννοείς ότι κάνουν σύνδεση μέσω υπολογιστή των προσώπων με τις ips) και όχι απλά τα γενικά στατιστικά? edit: Ας αυτολογοκριθώ! :P Η πρώτη είναι και η καλύτερη: Είμαι πεπεισμένος ότι λαμβάνω την επιτυχία που δικαιούμαι στη ζωή. Κρίμα που δε μπορούμε να απαντάμε και με αριθμούς. Η επιτυχία που λαμβάνω στη ζωή μου είναι τέσσερα. Τι τέσσερα - τι πόσο Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: miaou on December 15, 2010, 21:18:48 pm καλοσύνη σας :)
παντώς σίγουρα δεν έχετε ξανασυμπληρώσει παρόμοια ερωτηματολόγια.. Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 16, 2010, 01:36:27 am μέσω της ταυτοποίησης της ΙΡ με το παραπάνω μήνυμα
[...] Όσοι θέλουν, μπορούν να βρουν περισσότερα από εκείνο το τεστάκι. Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Εσύ on December 16, 2010, 02:18:27 am pvvv με κατερστρεψε με εκανε να συνειδητοποιησω πόσο ρεμαλι είμαι... Σε κατάθλιψη θα μας ρίξει η φίλη σου... :P
καταραμένο δεν καταλαβαίνω τι κάνει ο κώδικας,εξήγησε μου σε παρακαλώ απ τη δεύτερη γραμμή ως την 3890.. :P Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Nessa NetMonster on December 16, 2010, 02:51:16 am Η αντιπάθειά μου προς εσένα, Katarameno, δεν οφείλεται σε κάποιο προηγούμενο, αλλά στο ότι γενικά φέρεσαι επιθετικά, αγενώς και ενίοτε ανήθικα τη στιγμή που έχεις άδικο - το οποίο άδικο δεν μπορείς να καταλάβεις διότι είσαι περιορισμένης διανόησης. Αυτός ο συνδυασμός χαρακτηριστικών σου είναι που με κάνει να αναγνωρίζω στο πρόσωπό σου ό,τι μισώ σε όλη την ηλίθια, κομπλεξική ανθρωπότητα. :)
Έτσι και αλλιώς προσωπικά σε σένα ποτέ δεν αναφέρθηκα πριν αρχίσεις να με αποκαλείς με πολύ ωραίες εκφράσεις που μπορώ να στις θυμίσω αν δεν τις θυμάσαι. Μπα. Μόνο ό,τι έγραψα σ'αυτό το τόπικ. Έλα όμως που όποιο από όλα αυτά και να συμβαίνει εγώ ΔΕΝ ΘΑ ΣΟΥ ΕΛΕΓΑ ΠΟΤΕ οτι έχεις κάποιο ψυχολογικό πρόβλημα, σε αντίθεση με εσένα που με χαρακτήρισες ψυχασθενή ως άλλη wanna be ψυχίατρος χωρίς πτυχίο αλλά κατ' επίφασην και κατ' επανάληψη. Αυτό δε συνέβη ποτέ. Πάντως χωρίς να είμαι ψυχίατρος μπορώ αυτήν τη στιγμή να σου πω ότι είσαι φαντασιόπληκτος. Πες μου οτι το έτρεξες το ερωτηματολόγιο από internet cafe και χωρίς να είσαι μέλος για να μην έχουν όντως τα πραγματικά σου στοιχεία... Έτρεξα το ερωτηματολόγιο στο σπίτι μου, για τους εξής λόγους: 1) Θεωρώ ότι είναι εντελώς απίθανο να κάτσει κανένας από το τμήμα ψυχολογίας να καταγράψει από ποια IP ήρθε το κάθε ερωτηματολόγιο και να έχει κάποιο παράνομο πάρε-δώσε με κάποιον που αφενός θα μπορούσε για κάποιο μυστήριο λόγο να ενδιαφέρεται για τέτοιες πληροφορίες και αφετέρου έχει την ισχύ να πάει στον πάροχο και να εξασφαλίσει επίσης παρανόμως την αντιστοιχία IP-ονόματος για όλα αυτά τα άτομα, και να έχει τόσα πολλά να κερδίσει από αυτό που να αξίζει να λαδώσει τους πάντες αλλά και να ρισκάρει το σκάνδαλο. "Ναι ρισκάρουμε ανεπανόρθωτο πλήγμα στην αξιοπιστία του Πανεπιστημίου αλλά μάθαμε ότι η Nessa αργεί τις προθεσμίες, ενδιαφέρεται για τη λογοτεχνία και έχει ακατάστατο γραφείο!" 2) Αν κάποιος θέλει να μάθει για μένα, αρκεί να κάτσει να δει τα... πόσα ποστ έχω εδώ μέσα; και θα του πουν πολύ περισσότερα από ένα ερωτηματολόγιο. Και είναι και δημόσια. Εδώ μέσα είναι γραμμένο πώς περνάω το χρόνο μου, σε ποια μαθήματα τα πήγα καλά, ποιους μισώ, ποιους αγαπάω, τι κάνει η οικογένειά μου, ποιες είναι οι απόψεις μου επί παντός επιστητού, τι με ευχαριστεί, τι με εκνευρίζει, ποια είναι τα όνειρά μου, ακόμα και πώς πέρασα τα παιδικά μου χρόνια. Επί 8 χρόνια έχω γράψει σχεδόν για τα πάντα, και έχει πρόσβαση ο καθένας. Τι μου μένει πια να κρύψω; Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 16, 2010, 02:54:42 am Το αν νιώθεις ότι αμοίβεσαι αρκετά στην δουλειά σου. ;D ;D ;D
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστ_ Post by: Megawatt on December 16, 2010, 03:39:55 am Καταρχην:
Quote Πρώτα από όλα, αυτά τα ερωτηματολόγια συμπληρώνονται εθελοντικά. Όλες οι απαντήσεις σας είναι εμπιστευτικές και η ταυτότητά σας θα παραμείνει ανώνυμη. Δεν θα σας ζητηθεί να συμπληρώσετε κανένα στοιχείο από το οποίο θα προκύπτει η ταυτότητά σας ούτε θα συμπληρωθεί ένα τέτοιο στοιχείο αργότερα. Αν κάποια από τις ερωτήσεις σας κάνει να αισθάνεστε άβολα, μπορείτε να μην απαντήσετε. Μπορείτε να εγκαταλείψετε την έρευνα οποιαδήποτε στιγμή θέλετε και για οποιοδήποτε λόγο .;D ;D Μηπως αμα δεν τα συμπληρωσουμε θα πεθανει καποιο παιδι στην Αφρικη ή μαυρη καταρα θα μας βρει για τα επομενα 1000 χρονια? Και πολλες απο τις ερωτησεις οντως ειναι γελοιες.... ...θα λεγα πως με χαρακτηριζει μια αρνηση... ::) Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 16, 2010, 10:30:34 am ;D ;D Μηπως αμα δεν τα συμπληρωσουμε θα πεθανει καποιο παιδι στην Αφρικη ή μαυρη καταρα θα μας βρει για τα επομενα 1000 χρονια? Αυτό εκτός από εμπάθεια, εμπεριέχει άποψη? Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστ_ Post by: Megawatt on December 16, 2010, 13:54:22 pm Αυτα που μπόλταρα μου θύμισαν συνειρμικά την υποχρεωση που σου επιβάλλουν τα chain letters για να κανεις κατι που δεν θελεις, μονο και μονο επειδη αν δεν το κανεις θα συμβουν εξωπραγματικα πραγματα!
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 16, 2010, 14:13:53 pm Quote Πρώτα από όλα, αυτά τα ερωτηματολόγια συμπληρώνονται εθελοντικά.[...]Μπορείτε να εγκαταλείψετε την έρευνα οποιαδήποτε στιγμή θέλετε και για οποιοδήποτε λόγο .Μηπως αμα δεν τα συμπληρωσουμε θα πεθανει καποιο παιδι στην Αφρικη ή μαυρη καταρα θα μας βρει για τα επομενα 1000 χρονια? Αυτα που μπόλταρα μου θύμισαν συνειρμικά την υποχρεωση που σου επιβάλλουν τα chain letters για να κανεις κατι που δεν θελεις, μονο και μονο επειδη αν δεν το κανεις θα συμβουν εξωπραγματικα πραγματα! Αντισυμβατικό το χιούμορ σου, στην καλύτερη των περιπτώσεων. ;D ;D ;D Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: miaou on December 16, 2010, 14:22:16 pm Χωρίς να θέλω να υποστηρίξω τη φίλη μου ή το ερωτηματολόγιο της, ξέρω ότι αυτές οι ερωτήσεις κι ο τρόπος με τις οποίες απαντάς δεν είναι τυχαίος, ούτε ηλίθιος. Η βαθμολόγηση, αν απαντάς στις ερωτήσεις μετά από σκέψη κι όχι απλά για να το κάνεις κρύβουν σπουδαία στοιχεία για τον χαρακτήρα του άλλου.
Προφανώς αυτές οι αφηρημένες και γελοίες ερωτήσεις είναι αυτές που θα σε βάλουν σε σκέψη και θα απαντήσεις σοβαρά.... Μόνο βέβαια αν θες να ασχοληθείς ουσιαστικά με το ερωτηματολόγιο.. δεν έχει νόημα να το ξεπετάξεις γιατί δεν είναι υποχρεωτικό... Στο κάτω κάτω γι αυτούς, τέτοιες έρευνες είναι εργασίες, είναι πτυχιακές και μαθήματα... Αν μπορούσαμε όλοι έτσι εύκολα να κρίνουμε τους ψυχολόγους και την ψυχολογία, τότε δεν θα ήμασταν σε αυτή τη σχολή... Μια αλήθεια.. : όλα στη ζωή δεν είναι θέμα εμπειρίας.. Υπάρχει κι η επιστήμη της ψυχολογίας εδώ και χρόνια και δύσκολα μπορεί ο καθένας να την κρίνει ....αλλά ξέχασα... οι ηλεκτρολόγοι όλα τα μπορούν Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Megawatt on December 16, 2010, 15:21:10 pm Ειναι δυνατον στα 35 μου χρονια να μην ξερω τί με κανει ευτυχισμενο ή πως να γεμισω τις ελευθερες ωρες μου??
Αρα, θα επρεπε το τεστ να απυθυνεται σε "φοιτητικες " ηλικιες και οχι ΣΕ ΟΛΟΥΣ! Ακυρη η εργασια απο εμενα! :D Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστ_ Post by: Turambar on December 16, 2010, 15:41:28 pm Megawatt είσαι ίνδαλμα.
Θεωρώ δεδομένο με αυτά που λες ότι θα είσαι και ευτυχισμένος. Χαίρομαι για σένα! :) δυστυχώς όμως δεν αρκεί σε όλους η ηλικία για να είναι ευτυχισμένοι :( (μη σου πω ότι η ευτυχία είναι αντιστρόφως ανάλογη της ηλικίας) Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστ_ Post by: Megawatt on December 16, 2010, 17:05:30 pm (μη σου πω ότι η ευτυχία είναι αντιστρόφως ανάλογη της ηλικίας) Δεν ξερω αν κολλαει, αλλα θυμηθηκα (συνειρμικα παντα) την φωτο αυτη η οποια μιλαει για επιτυχια. Αν επιτυχια=ευτυχια τοτε κoλαει. ;D :D :D Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Wanderer on December 16, 2010, 17:22:50 pm Το background της παραπάνω εικόνας έχει γίνει με το πρόγραμμα Bryce 4.0
Η άχρηστη πληροφορία της ημέρας Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Wanderer on December 16, 2010, 17:30:18 pm Παρεπιπτόντως
https://hiddentunnel.net Ορίστε, λύθηκε και το πρόβλημα της IP :P Title: deleted Post by: BOBoMASTORAS on December 17, 2010, 00:17:48 am deleted
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 17, 2010, 00:25:06 am μιλάω για την ψυχοσύνθεση του :P
νιώσε! Title: deleted Post by: BOBoMASTORAS on December 17, 2010, 00:27:56 am deleted
Title: Re: Συμμετοχή σε έρευνα του τμ. Ψυχολογίας Πανεπιστημίου Κρήτης Post by: Turambar on December 17, 2010, 00:41:37 am arrr
Δεν ήταν επιχείρημα για το τι μπορεί να γίνει αν παραχωρήσεις προσωπικά δεδομένα στο ίντερνετ. Αλλά το πόσο μπορεί να εκτίθεσαι σε κάποια πράγματα, και μετά να κρύβεσαι σε άλλα. Το είδες το τεστ? Title: deleted Post by: BOBoMASTORAS on December 17, 2010, 00:47:49 am deleted
|